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

相关推荐
SirLancelot13 分钟前
数据结构-Set集合(一)Set集合介绍、优缺点
java·开发语言·数据结构·后端·算法·哈希算法·set
haaaaaaarry9 分钟前
Element Plus常见基础组件(一)
java·前端·javascript·vue.js
歌者長門14 分钟前
做题笔记:某大讯飞真题28道
java·数据结构·算法
Savvy..17 分钟前
Day05 Maven
java·junit·maven·注解
qingyingWin24 分钟前
原生微信小程序研发,如何对图片进行统一管理?
前端·微信小程序
不懂英语的程序猿34 分钟前
【JEECG】JVxeTable表格拖拽排序功能
前端·后端
Goboy37 分钟前
我是如何设计出高性能群消息已读回执系统的
java·后端·架构
拾光拾趣录39 分钟前
前端灵魂拷问:从URL到Redux,17个常见问题
前端·面试
萌萌哒草头将军1 小时前
Prisma ORM 又双叒叕发布新版本了!🚀🚀🚀
前端·javascript·node.js
阳光明媚sunny1 小时前
结构型设计模式
java·设计模式