1.cookie
- step1:客户端首次请求服务器端;
-
step2:服务器端响应报文的头部中有set-cookie指令,浏览器便将cookie保存在本地;
响应报文首部
Set-Cookie:name=value;expires=DATE;
name等于value是必须的。cookie的生存周期由expires字段指定,如果不指定就是默认为浏览器关闭时失效。
- step3:之后的每次请求,客户端都将cookie带在请求报文的首部发送给服务器端。
请求报文首部
注意:只有cookie的domain和path与请求的URL匹配才会发送这个cookie,此外,过期的cookie也不会发送,没有设置expire的cookie是临时的,也不会发送给服务器端。
2.localStorage
除非移除,否则能够长期保存。
3.sessionStorage
在一个会话内保存,浏览器关闭之后就失效。
4.session
需要注意的是,session与浏览器无关,它是后端服务器的概念,可以通过cookie来实现。
cookie实现session
上图中的JSSEIONID就是后台生成的session ID,以此来标志本次会话,之后用户每次都带上这个ID,后台服务器以此来识别用户。
网友评论