【发布时间】:2016-12-13 11:40:46
【问题描述】:
根据Where are $_SESSION variables stored?:“通常 session-id 存储在 cookie 中,但也可以附加到 urls”。读完后,我问 myseld:那么,如果会话 ID 存储在 cookie 中,为什么关闭浏览器窗口时会删除会话 ID?
然后,在谷歌上搜索了一下之后,我发现有两种不同类型的 cookie:会话 cookie 和持久 cookie。
我猜想 session-id 存储在会话 cookie 中,但是:除了名称证据之外,为什么会话存储在会话 cookie 中而不是持久 cookie 中?每次打开浏览器时都需要创建一个新的 session-id 吗?为什么不重复使用呢?
【问题讨论】:
-
您是否阅读过有关会话缓存过期的信息?
-
对不起,我看不到会话缓存与问题的确切关系。
-
如果您检查存储的 cookie,您会发现它们仍然存在。它不是服务器缓存过期的cookie
-
但我在整个互联网上阅读:“会话的问题是,当您关闭浏览器时,您也会丢失会话”。所以你的意思是实际上它们并没有被客户端立即删除,但它往往是这样的,因为每当用户重新打开浏览器时,服务器会话缓存配置已经删除了它?
-
实施您自己的 cookie/缓存,超出您可以控制的过期时间