cookie和session
1.产生的原因:
因为http是一个无状态的协议,每次请求如果需要之前的请求信息,此时必须发送之前的请求。为了解决这个问题,产生了记录状态技术-----cookie、session
2.cookie与session的关系
当客户端发送一个cookie,服务器会从这个cookie中找到sessionId,再查找出相应的session信息之后返回给客户端,来进行用户页面的流转。如果通过sessionId来查找session,发现没有session,在第一次登录的时候,就会创建一个session。在session的有效期内,继续访问该网页,服务器就会直接查找到这个session返回给客户端。
session的失效时间:
当session从创建开始到达失效时间时便会失效,一般是30分钟。
3.当cookie被用户禁用时,怎么使用session:
(1)提示用户必须开启session
(2)使用url重传:将sessionId附带的url后面传递给服务器
4.cookie的组成
(1)Name : 该的名称。一旦创建, 该名称便不可更改。
(2)value : 该cookie 的值。如果值为Unicode 字符, 需要为字符编码。如果值为二进制数据, 则需要使用BASE64 编码。
(3)Domain : 可以访问该cookle 的域名。例如, 如果设置为.zhihu.com , 则所有以zhihu.com 结尾的域名都可以访问该cookie。
(4)MaxAge : 该cookie 失效的时间, 单位为秒, 也常和Expires— 起使用, 通过它可以计算出其有效时间。Max Age 如果为正数, 则该cookie 在Max Age 秒之后失效。如果为负数, 则关闭浏览器时cookie 即失效, 浏览器也不会以任何形式保存该cookie 。
(5)Path : 该cookie 的使用路径。如果设置为/path/ , 则只有路径为/ path / 的页面可以访问该cookie 。如果设置为/ , 则本域名下的所有页面都可以访问该cookieo
(6)Size 字段: 此Cookie 的大小。
(7)HTTP 字段: cookie 的httponly 属性。若此属性为true , 则只有在HTTP 头中会带有此Cookie 的信息, 而不能通过document.cookie 来访问此Cookie。
(8)Secure : 该cookie 是否仅被使用安全协议传输。安全协议有H TT