会话对象 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就会消失了!

相关推荐
m0_471199631 分钟前
【自动化】前端开发,如何将 Jenkins 与 Gitee 结合实现自动化的持续集成(构建)和持续部署(发布)
前端·gitee·自动化·jenkins
w***95492 分钟前
spring-boot-starter和spring-boot-starter-web的关联
前端
Moment6 分钟前
富文本编辑器技术选型,到底是 Prosemirror 还是 Tiptap 好 ❓❓❓
前端·javascript·面试
xkxnq11 分钟前
第二阶段:Vue 组件化开发(第 18天)
前端·javascript·vue.js
J***516811 分钟前
SpringSecurity的配置
java
晓得迷路了12 分钟前
栗子前端技术周刊第 112 期 - Rspack 1.7、2025 JS 新星榜单、HTML 状态调查...
前端·javascript·html
面汤放盐12 分钟前
软件架构指南 Software Architecture Guide
java·微服务·devops
tkevinjd12 分钟前
JUC5(线程池)
java·线程池·多线程·juc
Tao____13 分钟前
如何对接Modbus-tcp协议(使用Thinlinks物联网平台)
java·物联网·网络协议·tcp/ip·modbus
怕浪猫15 分钟前
React从入门到出门 第五章 React Router 配置与原理初探
前端·javascript·react.js