Java Web 中 Session ID 采用 Cookie 存储的原因
在 Java Web 中,Session ID 使用 Cookie 进行存储,这并非偶然,而是出于以下原因:
1. 早期技术限制:
早期 Java Web 技术没有像 LocalStorage 或 sessionstorage 这样的现代存储方式。Cookie 是当时可用于跨请求跟踪用户的唯一方法。
立即学习“Java免费学习笔记(深入)”;
2. 实现方式:
Cookie 是一种服务器向客户端发送的小数据包,客户端将这些数据包存储在浏览器中。这种机制使得 Session ID 在客户端和服务器之间有效地共享。
3. 浏览器禁用 Cookie:
尽管 Cookie 是一个广泛接受的标准,但浏览器可以禁用 Cookie。为了在浏览器禁用 Cookie 的情况下也能跟踪用户,Java Web 采用了另外一种方法:将 Session ID 附加到 URL 中,例如:https://xxx.xx.xx/?jssionid=xxxxx。