Cookie 的最大大小是多少?每个网站的浏览器中可以存储多少个 Cookie?

Cookie 的最大大小是多少?每个网站的浏览器中可以存储多少个 Cookie?

我正在学习有关 cookie 的知识,并且想知道浏览器对它的支持情况:

  • 对于每个域名/网站,可以向浏览器发送多少个 cookie,以及大小是多少?

  • 如果发送并存储多个 cookie,是否会影响性能?

答案1

不同的浏览器对 Cookie 的大小限制不同。有些浏览器一般准则

我发现的大多数文档(虽然不多)都表明 Web 浏览器必须至少支持以下功能:

  • 共计 300 块饼干
  • 每个域 20 个 Cookie
  • 每个 Cookie 4096 字节

似乎这个最低要求是原始的 RFC 关于 cookie– 具体请参见第 6.3 节。

列出多个浏览器实际使用的 cookie 限制

每个域的 Cookie 限制

这里有一个测试脚本来测试你的浏览器

  • 火狐 2:50 1
  • 火狐 3:50 1
  • Internet Explorer 7 2:50(应用后来自微软的补丁
  • 歌剧 9:30
  • Safari:无限制(!)

最大 Cookie 限制:

  • Firefox 2:1000 1
  • Firefox 3:1000 1
  • Internet Explorer:未知
  • 歌剧:未知

1可以是介于 0 到 65535 之间
2由 Microsoft 记录这里

Cookies 并不保存在服务器上,而是保存在领域基础(一个服务器可能托管多个域,或者相反,一个服务器场可能只服务于一个域)。

一般情况下,我会避免在 cookie 中保存大量信息,因为每次请求时数据都会发送到浏览器或从浏览器传出。正如您在问题中提到的,这可能会影响性能。

通常,人们会在 cookie 中存储少量数据,主要用于识别用户/会话,以便可以从数据库或 Web 服务器本地的其他资源中获取更多数据。

答案2

根据我的研究,我建议您使用不超过 50 个 cookie,并且每个域的所有 cookie 不超过 4093 字节。

最低公分母是:

  • IE 8/9/10/11 的限制为50 块饼干,每个 Cookie 5117 个字符,每个域 10234 字节
  • iPad iOS 5.1 上的 Safari ?? 限制为 600 个 cookie,每个 cookie 4093 字节,并且每个域名 4093 字节

有趣的是,请注意 IE 有一个特点限制,而大多数都有字节限制。这意味着对于 UTF-8 等多字节编码,IE 可以容纳更多数据。

你可以在这里阅读更多:http://browsercookielimits.squawky.net/

相关内容