为什么我关闭浏览器后session还存在?

 我来答
游让闪妍
2020-03-11 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:1173万
展开全部
session
是一种服务器端的对象,保存在服务器中。
每个session
有一个唯一的sessionid。
session的超时也是由服务器来控制。
至于你说的关闭浏览器session就结束了,其实你看到的是表面现象。session
并不一定结束了。只是新打开的浏览器找不到原来的sessionid,从而找不到原来的session。
服务器又给他分配了一个新的session而已。
至于其中实现的原理,关键是:
第一次请求的时候,服务器告诉浏览器一个关于session的唯一性标识,
接下来每次请求的时候浏览器要将session的唯一性标识告诉服务器。当浏览器关闭的时候,这个唯一性标识就销毁了。当然服务器有其独特的算法来验证这个标识。
至于这个标识如何在浏览器和服务器之间传递,有不同的方法。一种放在http请求的http头里面,实际也是一种cookie,有的放在url上面,作为参数传递给服务器。
我的理解是这样的。
欢迎拍砖。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式