首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java HttpSession属性存储在哪里?

Java HttpSession属性存储在哪里?
EN

Stack Overflow用户
提问于 2011-04-30 06:52:54
回答 2查看 12.5K关注 0票数 22

对象是否被序列化并发送给用户,然后在每个连接上返回(存储在cookie中)?

或者它们存储在服务器堆中,而cookie只是一个非常小的标识符?

任何关于这个主题的信息都会很有帮助。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-30 06:55:32

你猜对了。

cookie包含一个JSESSIONID。该id用于在服务器维护的映射中查找用户的HttpSession。至少这是最常见的方式。服务器可以通过更复杂的方式来实现这一点,但在cookie中来回穿梭整个状态不是其中之一。

这有一些含义。首先,如果服务器宕机,您将失去会话状态。其次,如果您有一个服务器集群,您需要让用户每次都连接到相同的服务器,否则他们将失去后续请求之间的会话。最后,如果有人找到复制其他人的JSESSIONID并用其替换他们的JSESSIONID的方法,会话劫持就成为一种可能。

票数 22
EN

Stack Overflow用户

发布于 2011-04-30 06:56:30

cookie只包含一个会话标识符(通常称为JSESSIONID)。服务器将此标识符映射到当前存储在用户会话中的任何数据。

数据本身可能存储在内存中,也可能被序列化到数据库或文件中,具体取决于您使用的服务器及其配置。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5838179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档