关闭浏览器后Session失效原因分析
Posted gossip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关闭浏览器后Session失效原因分析相关的知识,希望对你有一定的参考价值。
参考文章:http://www.tuicool.com/articles/VNbYjqm首先需要理解一下几点:
1、Http是无状态的,即对于每一次请求都是一个全新的请求,服务器不保存上一次请求的信息
2、Session是保存在服务端的,为什么后续请求会读取到session?因为请求会包含一个sessionId,该值存储在cookie中,服务器通过这个sessionId找到对应的session
3、cookie是有过期时间的,规则如下:
Cookie的Max-Age决定了Cookie的有效期,单位为秒0:Cookie立即作废(如果原先浏览器已经保存了该Cookie,那么可以通过设置Max-Age为0使其失效)<0:默认,表示只在浏览器内存中存活,一旦浏览器关闭则Cookie销毁,浏览器的max-age默认为-1>0: 将Cookie持久化到硬盘上,有效期由Max-Age决定
综上所述:
1、sessionId是一个cookie,max-age默认为-1,即关闭浏览器后sessionId就会清空
2、sessionId(cookie)清空后,自然就无法找到对应的session,所以session就失效了
以上是关于关闭浏览器后Session失效原因分析的主要内容,如果未能解决你的问题,请参考以下文章
php为啥session能在当前页面中输出值,在其他页面从session中取值的时候是NULL