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

8

想知道IE、FF、Chrome和Safari允许的cookie大小和数量是多少。每个主机允许的cookie数量以及每个cookie的大小是多少?如果使用JavaScript存储超过最大大小的cookie,会发生什么?

3个回答

6
不同的浏览器有所不同,最大的限制是IE6只能接受20个域名cookie(所有其他现代浏览器[FF3+、IE7/8、Safair 4/5、Chrome]可以接受更多)。一旦IE6达到它的20个cookie限制,它会随机覆盖一个较旧的cookie,这是一个主要的问题,因为你永远不知道哪一个被删除了。
如果您想运行一些特定的测试--请访问此博客文章并尝试使用作者的测试脚本。

http://www.ghacks.net/2008/08/16/browser-cookie-limits/

希望这有所帮助。

3
我今天研究了一下,如果你想支持大多数浏览器,那么每个域名不要超过30个cookie,并且每个域名不要超过4095字节(即所有cookie的总大小<= 4095字节)。
至于当你超过限制时会发生什么,这取决于每个浏览器以及你超过哪个限制。例如,在Chrome 8中,当我添加第181个cookie时,会删除20个cookie。同样在chrome 8中,当我添加一个5000字节的cookie时,它会被截断到4096字节。我怀疑截断是处理超大cookie的标准方式。
要了解更多,请查看我的测试页面和结果

3
据我所知,您可以在每个域名下设置20个cookie或最多300个cookie,并且通常情况下跨所有cookie的限制通常为4k。关于cookie的RFC(第6.3节)包含了大部分您想要找到的信息。至于设置大于推荐大小的cookie,我建议您考虑不同形式的数据持久性,因为某些浏览器会以不同的方式处理它,但考虑到最低公共分母(IE6),我建议您考虑其他存储数据的方法,如果您需要存储这么多数据的话。

这些是用户代理应该提供的最低要求,而不是最高要求。 - Andy E
1
我认为你会发现,在某些情况下(不特指任何Internet Explorer),它们被解释为最小值和最大值。 - Phil.Wheeler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接