现代浏览器中当前的 cookie 限制是多少?

Posted

技术标签:

【中文标题】现代浏览器中当前的 cookie 限制是多少?【英文标题】:What are the current cookie limits in modern browsers? 【发布时间】:2011-07-19 21:16:30 【问题描述】:

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

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

我知道RFC 2109 指定:

至少 300 个 cookie 每个 cookie 至少 4096 字节(通过在 Set-Cookie 标头的语法描述中组成 cookie 非终结符的字符大小来衡量) 每个唯一主机或域名至少 20 个 cookie

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

【问题讨论】:

【参考方案1】:

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

它揭示了很多关于 cookie 的内部细节。点击“Run Tests for Current Browser”查看结果(只需要一点时间)。

例如,我为 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 在达到 181 时删除了超过 25 个 cookie,所以我不会指望它存储超过 150 个。 感谢您提供此资源!我测试了 Chrome 65、Firefox 59 和 IE 11。Chrome 结果保持不变。 Firefox 59 允许每个域 1000+ 个 cookie,每个 cookie 4097 个字节。 IE 11 允许每个域 50 个 cookie,每个 cookie 5117 个字节。【参考方案2】:

根据this thread,Firefox 3.5 将所有主机的总限制提高到 3000,Chrome 提高了followed their lead。我为 IE 找到的所有内容都是“at least 300”。

此外,虽然常规 Safari 似乎是无限的,但 Mobile Safari (iPod Touch 2G) 每台主机有 50 个 cookie 的限制,android 浏览器 (Android 2.2) 也是如此。

【讨论】:

【参考方案3】:

您可能还想看看用于客户端存储的 javascript,它是 html5 的一项功能,允许在访问者 PC 上隐藏数兆字节的数据。

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

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

【讨论】:

遗憾的是,我需要一个 cookie 方面的最低公分母:即一种适用于 cookie 工作的任何地方的解决方案 - 因此,HTML5 功能不是一个选项...... 除 Opera 10.10 和 Safari-3 外,包括 IE6 在内的所有主流浏览器都支持该功能。虽然IE6只能存储128kb 我有一个关于这个主题的问题。有人知道cookie名称中允许多少个字符吗? 您不需要包装器包。直接联系:w3schools.com/html/html5_webstorage.asp【参考方案4】:

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

【讨论】:

以上是关于现代浏览器中当前的 cookie 限制是多少?的主要内容,如果未能解决你的问题,请参考以下文章

Django---Cookie && Session

现代浏览器是不是仍然限制并行下载?

主流浏览器允许的 cookie 数量和大小是多少?

关于浏览器cookie的小知识

cookie超过最大长度限制如何解决

“现代”浏览器一次可以“处理”多少个 HTML 元素?