现代浏览器中当前的 cookie 限制是什么?

IT技术 javascript browser cookies cross-browser limit
2021-01-27 21:09:13

截至 2011 年,现代浏览器的通用 cookie 限制是什么?我特别感兴趣的是:

  • 单个 cookie 的最大大小
  • 每个主机/域名 + 路径的最大 cookie 数
  • 每个主机/域名的最大 cookie 数
  • 给定浏览器中所有 cookie 的最大数量/最大总大小

我知道RFC 2109规定:

  • 至少 300 个饼干
  • 每个 cookie 至少 4096 字节(根据 Set-Cookie 标头的语法描述中包含 cookie 非终结符的字符的大小来衡量)
  • 每个唯一的主机名或域名至少有 20 个 cookie

但什么是现实世界的规格?

4个回答

这是一个方便的测试工具:http : //browsercookielimits.iain.guru/

它揭示了很多关于 cookie 的内部细节。单击“为当前浏览器运行测试”以获取结果(只需片刻)。

例如,我为 Google Chrome 10.0.648.134 beta 运行了所有测试:

22:23:46.639: Starting
22:23:47.345: Count: Max Cookie count with Character Length 3 and character "1": 180
22:23:50.131: Size: Max Cookie Character Length using character "1": 4096
22:23:52.347: Count: Max Cookie count with Character Length 4096 and character "1": 180
22:23:54.517: Size: Max Cookie Character Length using character "ÿ": 2049
22:23:57.450: Count: Max Cookie count with Character Length 2049 and character "ÿ": 180
22:23:59.41: Count: Max Cookie count with Character Length 100 and character "1": 180
22:24:0.535: Count: Max Cookie count with Character Length 10 and character "1": 180
22:24:2.88: Count: Max Cookie count with Character Length 5 and character "1": 180
22:24:2.886: Guessing Max Cookie Count Per Domain: 180
22:24:2.887: Guessing Max Cookie Size Per Cookie: 4096 bytes
22:24:2.887: Guessing Max Cookie Size Per Domain: NA

这个答案很旧,但我只是检查了最新 Chrome 版本的结果,它们基本上是一样的。编辑:更新了 Chrome 54.0.2840.98(64 位)的答案。

感谢您提供此资源!我测试了 Chrome 65、Firefox 59 和 IE 11。Chrome 结果保持不变。Firefox 59 允许每个域 1000 多个 cookie,每个 cookie 4097 个字节。IE 11 允许每个域有 50 个 cookie,每个 cookie 允许 5117 个字节。
2021-03-31 21:09:13
我已经看到 Chrome 在达到 181 个时删除了超过 25 个 cookie,所以我不会指望它存储超过 150 个。
2021-04-02 21:09:13
看起来它是可行的并且是很好的信息来源!谢谢!
2021-04-03 21:09:13

根据该线程,Firefox 3.5 将所有主机的总限制提高到 3000,Chrome紧随其后我发现的所有 IE 都是“至少 300 ”。

此外,虽然常规 Safari 似乎不受限制,但 Mobile Safari (iPod Touch 2G)和 Android 浏览器 (Android 2.2) 一样,每个主机的cookie 限制为 50

您可能还想看看用于客户端存储的 javascript,它是 HTML5 的一项功能,允许在访问者 PC 上保持几兆字节的数据不可见。

存在几种变体,这里有一个带有良好文档的变体http://www.jstorage.info/

除了 Opera 10.10 和 Safari-3,包括 IE6 在内的所有主流浏览器都支持该功能。尽管 IE6 只能存储 128kb,而最近的产品可以存储 5 到 10 MB。当然,旧版本的 Opera 和 Safari 出现在访问者日志中的频率因每个站点而异,因此可能并不适合所有人。

您不需要包装器包。直接访问:w3schools.com/html/html5_webstorage.asp
2021-03-13 21:09:13
可悲的是,我需要一个关于 cookie 的最小公分母:即一个可以在 cookie 工作的任何地方工作的解决方案 - 所以,HTML5 功能不是一个选项......
2021-03-21 21:09:13
除了 Opera 10.10 和 Safari-3,包括 IE6 在内的所有主流浏览器都支持该功能。虽然IE6只能存储128kb
2021-03-29 21:09:13
我有一个关于这个主题的问题。有谁知道 cookie 名称中允许有多少个字符?
2021-04-12 21:09:13

在 Firefox >= 63 中,每个域的最大 cookie 数为180,参见首选项“network.cookie.maxPerHost”。当它达到限制时,它会丢弃陈旧的 cookie,然后丢弃非安全 cookie如果没有任何效果,它将简单地拒绝 cookie (cf netwerk/cookie/nsCookieService.cpp)