Tomcat 如何在内部处理会话?[已关闭]
根据我的理解,Servlet Containers使用一些HTTP协议来处理会话,例如:
- 隐藏的表单域
- 网址重写
- 饼干
我很好奇Apache Tomcat如何在内部处理会话,尽管它与普通开发人员无关。
Tomcat是否也在使用cookie或其他内容?
根据我的理解,Servlet Containers使用一些HTTP协议来处理会话,例如:
我很好奇Apache Tomcat如何在内部处理会话,尽管它与普通开发人员无关。
Tomcat是否也在使用cookie或其他内容?
默认情况下,Tomcat直接在HTTP响应中发送cookie,就像返回浏览器并重写URL以在其中添加参数一样,用于第一个请求,以便它可以在客户端浏览器中禁用cookie的情况下回退到以后。SET COOKIE:JSESSIONID....
JSESSIONID
下次如果浏览器请求服务器,Tomcat 将使用 cookie 来维护会话。JSESSIONID
request
JSESSIONID
您可以通过修改上下文来覆盖 Tomcat 中的会话 cookie 行为.xml:
<Context cookies="false">
</Context>
并禁用 URL 重写相同的方式:
<Context disableURLRewriting="true">
</Context>
Tomcat 默认发送 Cookie,除非用户从浏览器中阻止它们(尽管不鼓励这种做法)。此外,创建的会话 cookie (JSESSIONID) 不是持久性 cookie,每当浏览器的实例(窗口)关闭时,它们就会消失。