谷歌搜索告诉我,最大允许的cookie数量在很大程度上取决于浏览器,但我找不到任何最近的数据,关于现代浏览器允许多少cookie.
我需要在cookie中存储大量用户首选项(对于尚未注册的用户),那么最好的方法是什么呢?(此外,这些cookie将通过javascript客户端和php服务器端访问)
来自rfc:
至少300个饼干
每个cookie至少4096个字节(通过Set-Cookie标头的语法描述中构成cookie非终端的字符大小来衡量)
每个唯一的主机或域名至少有20个cookie
这些是最低要求.IE6团队没有得到这个.其他一切都是特定于浏览器的.你最好编写一个测试平台来测试每个浏览器.使用很少的增量步骤测试最大大小和数量(并检查它们是否仍然可读).
另外,我似乎记得apache有大量cookie的问题.不记得我见过的地方了.
这是一个小小的cookie测试脚本:http: //krijnhoetmer.nl/stuff/javascript/maximum-cookies/
最好的方法是根本不将它们存储在cookie中.
将它们存储在数据库中,并将数据库密钥存储在cookie中.如果它只是一些偏好,那么安全性不是问题.
不要忘记每次请求都会发送cookie - 如果你有2kb的cookie数据并在页面上加载10个图像,那就是额外的22kb数据.
饼干数量:
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,等号为1.
Opera允许最多4096个字符的cookie,用于名称,值和等号.
Internet Explorer允许最多4095个字符的cookie,用于名称,值和等号.
SRC:http://webdesign.about.com/od/cookies/f/cookies-per-domain-limit.htm和http://www.nczonline.net/blog/2008/05/17/browser-cookie-限制/