session重新认识

来源:互联网 发布:电商平台的网络外部性 编辑:程序博客网 时间:2024/05/08 10:01

       我原来对session的认识是:只要关闭浏览器,session就消失了。其实真正的原理在下面:

     除非程序通知服务器删除一个session(比如点击退出按钮退出),否则服务器会一直保留。浏览器从来不会主动在关闭之前通知服务器它将要关闭,因此服务器根本不会有机会知道浏览器已经关闭。我之所以会有原来那种认识,是大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。

     如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求头,把原来的session id发送给服务器,则再次打开浏览器仍然能够找到原来的session。正是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。

原创粉丝点击