如何应用服务器跟踪哪些客户端与HttpSession对象关联? 这是否与保持客户端之间的TCP / IP连接的轨道? 或饼干吧? 我怀疑它的饼干,因为那里是提取饼干单独的方法。
背景
据我所知,servlet和JSP可以调用request.getSession(),以获得与客户端相关联的HttpSession对象。 我很好奇,服务器如何知道当客户端请求新页面返回相同的对象。 我已搜索周围,我发现所有的文件是如何提取会话信息。 我感兴趣的是如何在服务器中分离出的客户端数据的海洋它可以访问的会话信息。
我怀疑它的饼干
它是! 基本上有跟踪无国籍HTTP协议和servlet用户会话的方式有两种: JSESSIONID
Cookie或URL重写。 当cookie不是可用的使用后者。
随着第一反应servlet容器设置在客户端的cookie如下:
Set-Cookie: JSESSIONID=25E7A6C27095CA1F560BCB2983BED17C; Path=/; HttpOnly
每个后续请求中包括这个cookie和servlet容器使用它来提供正确HttpSession
。 您可以直接使用Servlet API的访问这个cookie,你甚至可以建立在顶部自己的会话机制JSESSIONID
或其他一些饼干。 但是servlet容器会替你。
也可以看看
- 为什么当启用了Cookie是出现在检票网址JSESSIONID? - 对servlet容器如何使cookies和URL重写之间的区别一些技术细节