session运行机制

Session、Cookie过期时机

Session过期

  1. session超时 默认时间20min
  2. 服务器关闭
  3. session.invalidate()方法

Cookie过期

  1. 会话Cookie(SessionCookie)。会话Cookie存储在客户端的内存(浏览器占用的内存)中,决不会写入磁盘。当浏览器关闭时,Cookie将从此永久丢失。
  2. 持久性Cookie,存储在客户端的磁盘中。在指定的到期日期,Cookie将从磁盘中删除。

换种说法与session过期一致:

  1. cookie超时
  2. 浏览器关闭

运行机制

第一次发送请求,请求头部无sessionID,Web服务器为客户端创建新session,生成sessionID,开始计时,将sessionID随本次响应返回客户端,
第二次发送请求,更新计时,服务器通过sessionID找session,本次sessionID不会再随着响应返回客户端,如果session超时被服务器删除,再次访问会创建另一个新的session

当(存放着SessionId的)Cookie和Session中两者有任一过期,即宣告会话过期。

1、请求servlet
在这里插入图片描述
在这里插入图片描述2、换个浏览器再试试
在这里插入图片描述在这里插入图片描述

3、请求jsp页面
在这里插入图片描述

客户端浏览器关闭会话结束的实际原因

浏览器关闭只是中断了和Web服务器的联系,但是session对象依然存在服务器端,会话结束的真正原因是由于第一次发送请求请求头部无sessionID,故创建的新ID将老ID覆盖。如果服务器关闭,则将对象序列化到SESSIONS.ser文件内(Tomcat的work目录下),服务器重新启动,则将该文件中session对象重新反序列化。

比如第一次请求hello那个servlet生成的一个sessionId
在这里插入图片描述
关闭并重启Chrome再次请求hello,tomcat为之再次生成了一个新的sessionId,覆盖了原来的那个
在这里插入图片描述

session和cookie失效
会话状态保持,JSESSIONID,COOKIE,URL重写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值