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

时间:2011-03-21 17:49:25

标签: javascript browser cookies cross-browser limit

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

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

我知道RFC 2109指定了:

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

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

4 个答案:

答案 0 :(得分:62)

这是一个方便的工具来测试它:http://browsercookielimits.squawky.net/

它揭示了很多关于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位)的答案。

答案 1 :(得分:9)

根据this thread,Firefox 3.5将所有主机的总限制提升至3000,并将Chrome followed their lead提升。我在IE中找到的只是“at least 300”。

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

答案 2 :(得分:3)

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

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

除了Opera 10.10和Safari-3之外,包括IE6在内的所有主流浏览器都支持该功能。虽然IE6只能存储128kb而不是最新产品可以存储的5到10Mb。当然,访问者日志中显示的旧版Opera和Safari的频率因每个站点而异,因此可能不是所有站点的理想选择。

答案 3 :(得分:0)

在Firefox> = 63中,每个域的最大cookie数为180,请参见“ network.cookie.maxPerHost”。达到限制后,它将删除陈旧的Cookie,然后删除non secure cookies。如果没有任何效果,它只会拒绝该cookie(参见netwerk / cookie / nsCookieService.cpp)