关于Session的一些细节
Posted shaohsiung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Session的一些细节相关的知识,希望对你有一定的参考价值。
1 session是服务端技术, cookie是客户端技术
2 默认情况下, 一个浏览器独占一个session对象, 也就是说, 开启两个浏览器进程, 它们之间使用的session不是同一个session
3 通过一个浏览器进程产生出来的浏览器窗口, 这些窗口共享的是同一个session, 产生方式可以是点击出来的(target属性为_blank), 也可以是拖出来的
4 IE8浏览器不管启动多少个浏览器进程, 共享的都是同一个session对象
5 session.getSession()方法通过判断浏览器发送请求是否携带JSESSIONID来判断是否为浏览器创建session // 待查看tomcat源码验证
6 session的生命周期
创建 - 调用getSession()方法且JSESSIONID不存在时
销毁 - session对象在服务器中驻留30min内没有被使用, 就会被销毁, 所以在手工设置JSESSIONID的cookie时, 若将cookie的超时时间设置为超过30min, 就没有意义了
7 默认情况下, JSESSIONID的cookie有效时间为一个会话, 也就是说, 关闭浏览器之后, JSESSIONID的cookie就会别销毁, 服务器可以通过手工设置JSESSIONID的有效时间, 来防止用户错误操作关闭浏览器, 导致再次开启浏览器访问资源时, 丢失数据
以上是关于关于Session的一些细节的主要内容,如果未能解决你的问题,请参考以下文章