sessionId的生成过程和过期时间

支持作者

最便宜的卫生纸

浏览器第一次请求服务器时,服务器会生成一个sessionId,并返回给浏览器,这个sessionId会被保存在浏览器的会话cookie中。如下图

sessionId的生成过程和过期时间_第1张图片

在浏览器不关闭的情况下,之后的每次请求请求头都会携带这个sessionId到服务器。如下图

sessionId的生成过程和过期时间_第2张图片

session在服务器的默认有效时间是30分钟,可以通过3种方式去设置session的过期时间(具体那三种可以百度),下面通过代码的方式设置session过期时间为180秒

 

request.getSession().setMaxInactiveInterval(30*6);

在第二次请求3分钟后我们进行第三次请求,这个时候服务器中原有的session已经过期,所以服务器会生成一个新的sessionId返回给浏览器,并替换掉cookie中之前的sessionId,第三次请求cookie携带的还是之前的sessionId。如下图

 

sessionId的生成过程和过期时间_第3张图片


浏览器再次请求,cookie就会携带新的sessionId到服务器,如下图

sessionId的生成过程和过期时间_第4张图片

通过sessionId我们可以做登陆过期,会话期间无需二次登陆等功能。

你可能感兴趣的:(http,session,http,session,cookie)