gpt4 book ai didi

java - 创建 JSESSIONID 后 tomcat 重启时正常保留值

转载 作者:行者123 更新时间:2023-11-28 22:19:42 25 4
gpt4 key购买 nike

环境- openjdk 1.7- 带有本地连接器的 tomcat 7.0.55- 带有 mod-jk 1.2.40 的 apache 2.4.10

  1. Tomcat 启动
  2. 客户端请求 -> JSESSIONID 为空
  3. tomcat 响应 -> JSESSIONID=C5EBF0AA96ADB34E0C28E4D9D2595D98 已创建
  4. 刷新页面 -> session 属性(名称=计数,值=计数++)是正确的。计数在增加。
  5. Tomcat stop -> start (restart) context setting is session is not persist
  6. 客户端刷新 -> 客户端请求发送 JSESSIONID=C5EBF0AA96ADB34E0C28E4D9D2595D98
  7. session 属性(名称=计数,值=0)已重置。但保留 JSESSIONID

问题。为什么tomcat使用客户端请求值设置的JSESSIONID?是不是再生了?

这是 Java 规范吗?

谢谢。

最佳答案

我不认为它在 Java 规范中,我认为它是某种优化:重新使用 session ID 通常会减少生成的 ID 的数量以及可能的冲突。

但是 tomcat 只会对存储在 cookie 中的 sesionid 执行此操作(出于安全目的参见 http://java.dzone.com/tips/turning-session-fixation了解详情)。

要真正定位到tomcat 7做这个的地方看: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.55/org/apache/catalina/connector/Request.java#2942

关于java - 创建 JSESSIONID 后 tomcat 重启时正常保留值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com