session能保存的时间很长,如果是tomcat服务器的话,默认保存时间是30分钟
(这一点可以查看Tomcat的web.xml来验证)
这个时候我们登录一个网站(例如京东之类),我们选择加入购物车,我们的记录就被记下来了,按理说,如果我们关闭浏览器,我们仍然可以得到我们刚刚的购物记录(session还没有过期),但是事实上是,再次打开浏览器的时候,我们找不到刚刚的购物记录了。
很多人以为是session已经失效了,其实不是的,不是session失效了,而是cookie失效了,服务器端保存session的时候,我们客户端这边会用cookie保存sessionid,以此来判断我们是哪一个用户,而cookie在我们退出浏览器的时候就失效了(默认情况下,没有设置cookie的时长),那么第二次打开浏览器的时候,我们会向服务器发送一个新的请求,服务器返回一个新的sessionid,这个时候我们相当于以另外一个用户登录了,所以才没有得到我们第一次的购物记录。
误以为session过期(购物车例子举例)
最新推荐文章于 2023-08-10 14:44:35 发布