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

Posted

技术标签:

【中文标题】主流浏览器允许的 cookie 数量和大小是多少?【英文标题】:What is the number and size of cookies allowed by major browsers? 【发布时间】:2011-05-04 06:06:32 【问题描述】:

只是想知道 IE、FF、Chrome 和 Safari 允许的 cookie 的大小和数量是多少。每个主机允许的数量和每个 cookie 的大小是多少?另外,如果您尝试使用 javascript 存储大于最大大小的 cookie,会发生什么情况?

【问题讨论】:

【参考方案1】:

我今天研究了一下,如果你想支持大多数浏览器,那么每个域不要超过 30 个 cookie,每个域不要超过 4095 字节(即所有 cookie 的总大小

至于当你超过限制时会发生什么,这取决于每个浏览器以及你超过了哪个限制。例如,在 Chrome 8 中,当我添加 cookie 181 时,会删除 20 个 cookie。同样在 chrome 8 中,当我添加一个 5000 字节的 cookie 时,它​​会被截断为 4096 字节。我怀疑截断是处理超大 cookie 的标准方法。

在这里阅读更多关于它的信息是我的test page and results。

【讨论】:

【参考方案2】:

它因浏览器而异。最大的限制是 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】:

AFAIK,您可以设置的 cookie 数量为每个域 20 个或最多 300 个,并且每个 cookie 通常都以 4k 为上限。

RFC for cookies(第 6.3 节)包含您想要查找的大部分信息。

就设置 cookie larger than the recommended size 而言,我建议某些浏览器会以不同方式处理它,但考虑到最小公分母 (IE6),我建议您考虑不同形式的数据持久性如果你有那么多数据需要存储。

【讨论】:

这些是用户代理应该提供的最小值,而不是最大值。 我想你会发现在某些情况下(不是专门查看任何 Internet Explorer),它们被解释为最小值和最大值。

以上是关于主流浏览器允许的 cookie 数量和大小是多少?的主要内容,如果未能解决你的问题,请参考以下文章

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

vue-element-admin后台 登录时 [记住我] 功能

关于浏览器cookie的小知识

js获取页面response headers中各domain下的cookie个数、及总的cookie大小 跪求啊

cookie 怎样存储值?

cookie的基础应用