据我了解,Servlet容器使用一些HTTP协议来处理会话,例如,
我很好奇 Apache Tomcat 如何在内部处理会话,尽管它与一般开发人员无关。
Tomcat是否也在使用cookie或其他?
默认情况下,Tomcat会在HTTP响应中直接发送cookie,就像SETCOOKIE:JSESSIONID....返回浏览器一样,并重写URLJSESSIONID以便在第一个请求中在其中添加参数,以便在客户端禁用 cookie 的情况下可以稍后再使用。浏览器。
SETCOOKIE:JSESSIONID....
JSESSIONID
如果浏览器请求服务器与下一次JSESSIONID在request,Tomcat将使用JSESSIONID的cookie维持会话。
request
您可以通过修改 context.xml 来覆盖Tomcat中的会话cookie行为:
<Context cookies="false"> </Context>
并以相同的方式禁用url重写:
<Context disableURLRewriting="true"> </Context>
甚至阅读此带有Cookie的Servlet会话跟踪(JSESSIONID)