问问题_为什么关闭浏览器后Session会失效
2016-09-07 15:49
381 查看
首先需要理解一下几点:
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就失效了
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失效的问题多种解决方式
- 对于Session会不会在关闭浏览器时失效这个问题...
- 解决J2EE-session在浏览器关闭后失效问题
- 浏览器关闭使session失效的问题多种解决方式
- J2EE-session在浏览器关闭后失效问题
- 浏览器关闭使session失效的问题的解决方法
- 关于codeigniter即ci的session关闭浏览器不能自动失效的问题
- 关闭浏览器Session失效.
- 关于关闭浏览器后清除session的问题
- 关闭浏览器使session立即失效的方法
- sessionid为什么关闭浏览器消失
- JSP中的session的确作用域是浏览器关闭就失效(本人一直搞不懂sesssion和cookie)
- 关闭浏览器session对象失效
- 关于浏览器关闭之后session就变了的问题
- SpringMVC 拦截器遇到浏览器请求/favicon.ico被拦截导致触发session失效问题的处理办法
- session+application+cookie 实现单态登陆,且解决浏览器意外关闭的问题(转自http://blog.csdn.net/u010723709/article/details/4)
- 关闭浏览器后session不失效 in servlet.
- 如何让用户在关闭浏览器后在1分钟后,Session失效
- django设置当浏览器关闭时,session失效
- 【用户在线统计】如何处理浏览器关闭时候的session清理问题