1、Cookie机制
- cookie是如何工作的
cookie机制采用的是在客户端保持状态的方案,其工作原理:
1)服务端在响应中利用Set-Cookie header来创建一个Cookie
2)浏览器在请求中通过Cookie header把这个Cookie返回给服务端 - cookie相关字段说明
cookie的内容主要包括:名字,值,过期时间,路径和域。
1)路径与域一起构成cookie的作用范围。
2)若不设置过期时间,关闭浏览器窗口时cookie消失,即会话cookie;若设置了过期时间,直到超过设定的过期时间或人为删除才失效。 - 应用场景:登录网站
2、Session机制
session机制采用的是在服务器端保持状态的方案
- cookie被禁止后如何把sessionId传给服务端?
1)URL重写:即把sessionId直接附加在URL路径的后面
2)表单隐藏字段:服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把sessionId传递回服务器 - 应用场景:购物车
3、Session与Cookie的区别
- cookie数据存放在浏览器上,session数据放在服务器上。
- cookie不安全,可以进行cookie欺骗,session相对安全。
- 考虑到服务器的性能问题,登录等重要信息存放在session中,其它信息可以存放在cookie中。
- 单个cookie保存的数据大小不能超过4K,浏览器对保存的cookie数量也有限制。