允许的最大cookie数

时间:2008-11-12 12:20:03

标签: php javascript cookies

据谷歌搜索告诉我,cookie的最大允许数量在很大程度上取决于浏览器,但我找不到任何最新数据,说明现代浏览器允许使用多少cookie。

我需要在Cookie中存储大量用户首选项(对于尚未注册的用户),那么最好的方法是什么? (此外,这些cookie将通过javascript客户端和php服务器端访问)

6 个答案:

答案 0 :(得分:22)

来自rfc

  • 至少300个cookies

  • 每个cookie至少4096个字节(以大小为单位来衡量)     在语法中包含非终端cookie的字符     Set-Cookie标题的描述)

  • 每个唯一的主机或域名至少有20个Cookie

这些是最低要求。 IE6团队没有得到这个。其他一切都是特定于浏览器的。你最好编写一个测试平台来测试每个浏览器。使用很少的增量步骤测试最大大小和数量(并检查它们是否仍然可读)。

另外,我似乎记得apache有大量cookie的问题。不记得我曾经见过的地方。

这是一个小小的cookie测试脚本: http://krijnhoetmer.nl/stuff/javascript/maximum-cookies/

答案 1 :(得分:15)

最好的方法是不要将它们存放在cookie中。

将它们存储在数据库中,并将数据库密钥存储在cookie中。如果它只是一些偏好,那么安全性不是问题。

不要忘记每次请求都会发送cookie - 如果您有2kb的cookie数据并在页面上加载10个图像,那么这将是额外的22kb数据。

答案 2 :(得分:6)

Cookie数量:

  • Chrome 9允许每个域180个Cookie
  • Firefox 3.6.3允许每个域50个cookie
  • Internet Explorer 8允许每个域50个cookie
  • Opera 10和9允许每个域名30个Cookie

Cookie大小限制(4096字节):

  • Firefox和Safari允许最多4097个字符的cookie,名称和值为4096,等号为。
  • Opera允许最多4096个字符的cookie,用于名称,值和等号。
  • Internet Explorer允许最多包含4095个字符的Cookie,用于名称,值和等号。

SRC:http://webdesign.about.com/od/cookies/f/cookies-per-domain-limit.htmhttp://www.nczonline.net/blog/2008/05/17/browser-cookie-restrictions/

答案 3 :(得分:4)

今天我调查了这个,如果你想支持大多数浏览器,那么每个域不超过50个cookie,每个域不超过4095个字节(即所有cookie的总大小&lt; = 4095字节)< / p>

要了解更多相关信息,请here is the test page and results

答案 4 :(得分:2)

IIRC,对于大多数将军来说是20,对于一些人来说更多,对于一个特定的浏览器来说是10(对于IIRC,IE5.5?)。最多10个被认为是安全号码。

你真的不需要多个 - 只需使用一个来存储ID客户端,并将存储在服务器端的所有内容存储在相同的ID中。除了其他任何东西,你离开客户端的数据越少,他们删除/破坏/破解/等等的数据就越少。

答案 5 :(得分:0)

不确定从他们的观点来看有多大意义,但I've seen websites in the wild设置了超过450个Cookie和reporting to over 140 distinctive third party domains