【问题标题】:how browser relates the cookies for web sites in each tab浏览器如何关联每个选项卡中网站的 cookie
【发布时间】:2011-03-31 16:40:33
【问题描述】:

浏览器如何关联在选项卡中打开的网站的 cookie。例如,在 Firefox 中,我打开了五个选项卡,并且在每个选项卡中我加载了不同的网站。我的问题是浏览器如何识别哪个站点的 cookie。它有什么关系。同样,如果我在另一个浏览器实例中打开相同的站点,是否会使用相同的 cookie。

【问题讨论】:

    标签: java cookies


    【解决方案1】:

    浏览器如何关联在选项卡中打开的网站的 cookie。

    Cookie 与选项卡或窗口无关——它们与对域的请求有关。每当浏览器向网络服务器发出一个域的请求时,它对该域的任何 cookie 都将在请求标头中发送。通常每个网页都会发出 10 次请求以下载 HTML、图像、javascript 等。这些请求中的每一个都会与请求中的域的 cookie 一起发送。如果您不知道,这里有一个关于 how cookies work 的好页面。

    如果您有 5 个指向不同网页的选项卡,那么在这些选项卡中向各个不同域发出的请求将具有不同的 cookie。如果某些内容(例如图像)在所有站点之间共享,则将在所有 5 个请求中发送相同的 cookie。如果您在同一浏览器的另一个选项卡中打开同一网页,则相同的 cookie 将用于该域的请求。

    如果您打开另一个浏览器“实例”,那么它可能取决于浏览器和您的操作系统。如果 cookie 不是 session cookie,即如果 cookie 存储在磁盘上,那么当您运行另一个 Firefox 实例时,它应该读取/写入与第一个实例相同的 cookie 文件。通常,如果您启动另一个浏览器,它可能只是启动当前浏览器的另一个窗口,因此 cookie 将是相同的。如果您运行两种不同类型的浏览器,那么 cookie 很可能是分开的,尽管这取决于浏览器是否共享相同的 cookie 文件。

    了解“隐身窗口”(Chrome) 或“私人窗口”(Safari/Firefox) 的功能之一也很重要,即它们有一个单独的 cookie 空间,当所有私人窗口关闭时会被删除。这意味着您可以同时登录两个 gmail 帐户(例如),因为普通窗口和私人窗口具有不同的 cookie 集。当您想要测试 Web 服务并且想要确保有明确的 cookie 时,这也非常有用。

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 2016-09-02
      相关资源
      最近更新 更多