gpt4 book ai didi

java - 应用程序服务器如何跟踪 HttpSession 对象和客户端?

转载 作者:行者123 更新时间:2023-11-29 10:18:14 25 4
gpt4 key购买 nike

应用程序服务器如何跟踪哪个客户端与哪个 HttpSession 对象相关联?它与跟踪客户端之间的 TCP/IP 连接有关吗?或者 cookies ?我怀疑是 cookie,因为有一种单独的方法可以提取 cookie。

背景

我知道 servlet 和 JSP 可以调用 request.getSession() 来获取与客户端关联的 HttpSession 对象。我很好奇服务器如何知道在客户端请求新页面时返回相同的对象。我四处搜索,找到的所有文档都是关于如何提取 session 信息的。我对服务器如何将 session 信息与它可以访问的大量客户端数据隔离很感兴趣。

最佳答案

I doubt it's cookies

是的!在无状态 HTTP 协议(protocol)和 servlet 中基本上有两种跟踪用户 session 的方法:JSESSIONID cookie 或 URL 重写。后者在 cookie 不可用时使用。

第一次响应 servlet 容器在客户端设置以下 cookie:

Set-Cookie: JSESSIONID=25E7A6C27095CA1F560BCB2983BED17C; Path=/; HttpOnly

每个后续请求都包含此 cookie,servlet 容器使用它来提供正确的 HttpSession。您可以使用 servlet API 直接访问此 cookie,您甚至可以在 JSESSIONID 或其他一些 cookie 之上构建您自己的 session 机制。但是 servlet 容器会为您做这些。

另见

关于java - 应用程序服务器如何跟踪 HttpSession 对象和客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12238969/

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