在与Web编程相关的书籍和教程中写道,当用户关闭浏览器时,cookie将过期。所以我无法理解为什么在关闭浏览器(Opera)之后我可以在“参数”窗口中看到我的cookie列表。以及关闭浏览器后会话(例如Facebook)如何标识用户(会话cookie必须根据书籍和教程过期)?
答案 0 :(得分:27)
Cookie有两种不同的类型:
答案 1 :(得分:9)
有两种主要的cookie。会话和持久性cookie。
关闭浏览器时,通常会删除会话Cookie 。会话cookie通常用于跟踪登录信息,购物车等。
持久性Cookie 也称为跟踪Cookie。广告客户经常使用它们来跟踪您已观看过的广告。它还用于某些网页以记住有关您的信息,例如自动登录和自动填写表单以及常用的详细信息(例如您的登录名)。当达到最大年龄或到期日期时,将删除持久性cookie。
有关不同Cookie类型的详细信息,请参阅Wikipedia - HTTP cookie。
答案 2 :(得分:5)
是的,会话cookie在会话结束时到期 - 但这不是唯一的cookie类型。 Cookie可以设置过期日期,使其寿命更长 - 一个“持久”Cookie。
答案 3 :(得分:2)
在某些情况下,关闭浏览器后,Cookie似乎不会过期,因为实际上并非所有浏览器实例都已关闭。
在许多情况下,浏览器会话似乎已在关闭后仍在后台运行。
IE中的浏览器崩溃可能会使隐藏的会话保持打开状态。在谷歌浏览器中,某些扩展程序使用在关闭浏览器后仍然存在的“隐藏页面”。在Mac上,没有经验的用户可能会认为他们已经通过单击X关闭了浏览器,但是他们忽略了单击Safari>退出Safar或Command-Q。
在使用Cookie进行登录时尤其如此。这对于我们使用Sharepoint 2013和ADFS来说已成为一个问题。希望这可以帮助!
答案 4 :(得分:1)
完成答案:
使用
关闭浏览器后,网站会识别用户答案 5 :(得分:0)
每个cookie都有一个到期时间,如果您没有设置特定值,它将接受默认值。无论您是否关闭浏览器,cookie都将在此到期时间后到期。您可以通过将负值设置为到期时间来终止cookie
在php中你有一个很好的教程 http://php.net/manual/en/function.setcookie.php
答案 6 :(得分:0)
因为cookie设置了到期时间。它将在指定的时间后关闭,无论浏览器是否关闭。
答案 7 :(得分:0)
我听到你的兄弟。悲伤但冷酷的现实是......关闭浏览器并不意味着关闭浏览器。
此处关闭浏览器意味着终止该浏览器品牌背后的进程以及所有实例。
要实现这一目标,必须采取以下措施之一:
1)您要么重新启动计算机
2)或您或您的用户长按系统托盘上的浏览器图标,然后选择退出或关闭所有WINDOWS选项(取决于您是在Mac上还是在Windows上)< / p>
实际上,我知道这不是你想看到的,而是发现问题的症结所在,但它就是它的本质。
即使没有可见的浏览器实例,大男孩仍然在内存中,除非你强行退出该过程,否则你的cookie仍在会话中。
这不应该是这样设计的。 关闭所有实例应该已经足够了。