据我所知,对于 HTTP,有两种方法可以存储属于客户端的数据并将某种状态带入原本无状态的 Browser-webcontainer-connection:1)存储在客户端 cookie 中的数据 - 或 2)会话ID 存储在 cookie 中,相关数据存储在服务器端的 web 容器中。当我比较这两种可能性时,我想不出一个理由,为什么要走第一种。但是,当我查看浏览器的 cookie 时,我看到其中存储了很多数据。
- 网络容器(如 tomcat)可以将任意数据与会话 ID 一起存储 - cookie 的大小非常有限。
- Cookie 更容易受到攻击,因为它们存储在客户端。将数据保存在服务器端对我来说更安全。
- cookie 和 webcontainer-sessions 都可以定义过期日期。
- 浏览器和 web 容器都在重启时保留它们的数据。
任何人都可以提出使用 cookie 存储会话数据有好处甚至是必要的场景吗?