【发布时间】:2013-12-28 01:30:02
【问题描述】:
通常,HTTP 服务器端会话数据存储(例如 PHP 中的 $_SESSION)是使用 cookie 实现的 - 每个客户端都有一个存储在 cookie 中的唯一会话 ID。服务器接收此 cookie 并使用它查找会话数据(作为某种密钥或文件名)。
这很好用,但有时会导致问题,因为 cookie(以及会话)在浏览器选项卡之间共享。
我的问题是:是否可以实现一个服务器端数据存储,为每个浏览器选项卡保存不同的数据? 最好的方法是什么?没有客户端 JavaScript。
示例:您有某种非常复杂的表单,其中包含多个步骤,并且您希望在将所有内容写入数据库之前将之前步骤中的数据存储在某个地方。您可以将数据存储到会话中,但如果有人在多个浏览器选项卡中使用相同的表单,这将无法正常工作 - 因为会话数据将被共享。因此,最好为每个选项卡设置不同的存储空间。
示例 #2:您希望允许用户在同一个浏览器中登录多个帐户。所以你需要某种会话的“分叉”机制。
【问题讨论】: