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

相关推荐
quo-te5 分钟前
【JavaWeb学习Day19】
java·spring·maven·mybatis
m0_7482449613 分钟前
2024 JAVA面试题
java·开发语言·python
Book_熬夜!15 分钟前
速通HTML
前端·html
wangtaohappy25 分钟前
AI写代码工具赋能前端开发:高效学习与应用AI前端框架
前端·人工智能·学习·前端框架
JiaJunRun28 分钟前
Java Collections工具类面试题
java·开发语言·windows·学习·安全
澄江静如练_34 分钟前
小程序高度问题&背景scss
java·前端·小程序
276695829236 分钟前
快手弹幕 websocket 分析
java·python·websocket·go·快手·快手弹幕·ks
阿湯哥36 分钟前
再论Spring MVC中Filter和HandlerInterceptor的优先级
java·spring·mvc
Xiaohong071638 分钟前
心理咨询小程序的未来发展
java·微信小程序·小程序·心理咨询小程序·微信小程序搭建开发
wangtaohappy1 小时前
AI写代码工具ScriptEcho:赋能数据分析,驱动精准营销
前端·人工智能·信息可视化·数据分析