会话对象 HttpSession 一、HttpSession原理

我们都知道HTTP是无状态协议,但是为什么session可以跟踪会话状态呢?因为session依赖Cookie。

当客户端第一次访问服务器时,服务器会为客户端创建一个session对象,然后把session对象放到session池中,在响应时把sessionId通过Cookie响应给客户端。注意,只有在第一次访问时,服务器才会创建session,给客户端响应sessionId。

当客户端再次访问服务器时,会在请求中带着sessionId给服务器,服务器通过sessionId到session池中找到session对象,这就可以完成会话跟踪了。也就是说,服务器端保存的是session对象,而客户端只有sessionId。每次访问都需要通过客户端的sessionId来匹配服务器端的session对象!这样用户在session中保存的数据就可以再次被使用了。

sessionId是服务器通过Cookie发送给客户端浏览器的,这个Cookie的maxAge为-1,即只在浏览器内存中存在。如果你关闭所有浏览器窗口,那么这个Cookie就会消失了!

相关推荐
西西木科技丨Shopify开发机构2 分钟前
如何在 Shopify 中建立重定向
前端·html
DKPT7 分钟前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
汪子熙8 分钟前
深入探析 header facets:定位与应用
前端·javascript
你听得到1110 分钟前
从需求到封装:手把手带你打造一个高复用、可定制的Flutter日期选择器
前端·flutter
江城开朗的豌豆14 分钟前
Vue Router vs location.href:导航跳转的正确姿势,你选对了吗?
前端·javascript·vue.js
Percep_gan15 分钟前
idea的使用小技巧,个人向
java·ide·intellij-idea
缘来是庄15 分钟前
设计模式之迭代器模式
java·设计模式·迭代器模式
小磊哥er18 分钟前
【前端工程化】如何制定前端项目中的页面模版?
前端
Liudef0622 分钟前
基于HTML与Java的简易在线会议系统实现
java·前端·html
2401_8812444024 分钟前
javaweb———html
前端·javascript·html