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

相关推荐
h***0665几秒前
【JSqlParser】Java使用JSqlParser解析SQL语句总结
java·开发语言·sql
代码or搬砖10 分钟前
Java Lambda 表达式全面详解
java·开发语言·python
okseekw12 分钟前
Java初学者的static探险记:原来“静态”是这么个省心玩意儿!
java
这周也會开心19 分钟前
JDK1.8新增语法
java·开发语言
●VON20 分钟前
使用 Electron 构建天气桌面小工具:调用公开 API 实现跨平台实时天气查询V1.0.0
前端·javascript·electron·openharmony
心随雨下22 分钟前
TypeScript泛型开发常见错误解析
java·开发语言·typescript
码上成长23 分钟前
包管理提速:pnpm + Workspace + Changesets 搭建版本体系
前端·前端框架
DonaldCen66624 分钟前
Java 王者修炼手册【Mysql篇 - SQL执行存储流程】:拆解 InnoDB 存储结构与 SQL 执行流程,吃透 Buffer Pool 和 Change
java
Bigger26 分钟前
Tauri(十九)——实现 macOS 划词监控的完整实践
前端·rust·app
旺仔Sec40 分钟前
2025年广东省职业院校技能大赛高职组“区块链技术应用”竞赛试题(二)
java·区块链