Hello! 欢迎来到小浪资源网!


JavaWeb中Session ID存储:为何选择Cookie以及替代方案有哪些?


JavaWeb中Session ID存储:为何选择Cookie以及替代方案有哪些?

JavaWeb 中为何采用 Cookie 存储 SessionId

在 JavaWeb 中,每个用户会话都有一个唯一的 ID,称为 SessionId。为了在会话期间将 SessionId 关联到用户浏览器,通常采用 Cookie 的方式进行存储。

为什么不能以 Cookie 方式存储?

反向思考一下,如果不能以 Cookie 方式存储,还存在哪些其他选择?

立即学习Java免费学习笔记(深入)”;

LocalStorage 和 sessionstorage

LocalStorage 和 SessionStorage 是 html5 中引入的两种存储机制,支持在浏览器中存储数据。但是,这些机制是后期才出现的,而 JavaWeb 技术应用广泛,在早期阶段并不支持。

禁用 Cookie

浏览器可以禁用 Cookie。如果浏览器禁止使用 Cookie,则无法通过 Cookie 来存储 SessionId。

因此,在无法使用 LocalStorage 和 SessionStorage、浏览器可能禁用 Cookie 的情况下,Cookie 成为存储 SessionId 的最佳选择。

为了解决浏览器禁用 Cookie 的问题,有些网站会将 SessionId 附在 URL 的末尾,如 https://xxx.xx.xx/?jssionid=xxxxx。这种方式同样可以实现 SessionId 的记录。

相关阅读