java - 服务端的session用于保存一次对话过程
PHP中文网
PHP中文网 2017-04-18 09:43:43
[Java讨论组]

服务端的session用于保存一次对话过程,那么服务端的session数据再什么时候会被清空?
我把浏览器关掉的话,它会清空么?
服务端怎么知道我的浏览器关掉了呢?
cookie的有效期是多少?
也是可以指定生存时长的么?

=================================================================================
此外,书上看到一句话:“若浏览器不支持使用Cookie,或者浏览器设置为不接受Cookie,那么将不能使用Session”,session和cookie是相互独立的吧?为什么cookie的禁用会影响session??不理解。

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
ringa_lee

按问号顺序

  1. 超时清空、服务器端语言层面unset清空、删除服务器端session文件清空等

  2. 不会,但是cookie没了,你存在本地cookie中的session_id也没有了,服务器端没有session_id就找不到session文件,其实session文件还是要等超时以后清空

  3. 服务器端不知道,所以要等设置的session超时时间到了以后会自动清空

  4. 你可以设置,不设置的话会话结束就清空

  5. 就是cookie超时时间

  6. 相互独立

  7. 请看第二个答案

怪我咯

可以百度一下Session的生命周期。

  • 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。比如Tomcat中Session的默认失效时间为20分钟。

  • cookie当然可以指定有效期

  • 虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。这是因为Session需要使用Cookie作为识别标志。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一客户,因此服务器向客户端浏览器发送一个名为JSESSIONID的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session依据该Cookie来识别是否为同一用户。

阿神

比如你去吃饭,第一次带着饭卡去吃饭,很顺利。第二次你不带饭卡说你就是上次带着饭卡过来吃饭的谁谁谁,你试试老板让不让你吃。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号