为什么Safari允许您将cookie设置为4kB以上?

时间:2009-08-12 04:22:27

标签: cookies safari

我设置了一个A / B测试,需要暂时将大量数据存储在cookie中。在测试我的代码时,我设法获得超过4kB的cookie。 Safari设置了cookie。在随后的页面加载中,Apache因cookie过大而返回错误。

我在Firefox上测试了它,它只是忽略了cookie,这对我来说似乎是正确的行为。

我见过这种情况发生在GMail的第一手资料之前。我以前得到错误的请求错误,并将不得不删除我的cookie。这是一个已经解决的已知问题。

我无法在网上找到有关Safari允许超过4kB的cookie的信息。这不是有潜在危险吗?可以阻止我们的用户访问我们的网站并且不知道发生了什么的想法是可怕的。我不清楚如果它们太大,我们怎么可能从我们这边删除这些cookie。

为什么Safari会这样做?做其他浏览器吗?

2 个答案:

答案 0 :(得分:3)

http://www.nczonline.net/blog/2008/05/17/browser-cookie-restrictions/说firefox和safari允许最多4097个字符的cookie,IE 4095和opera 4096

这里有一些关于在发生错误时修复问题的内容,基本上错误文档会清除违规cookie,以便后续请求可以正常工作(希望如此)http://www.webmasterworld.com/forum92/1163.htm

答案 1 :(得分:0)

该标准为Cookie指定了某个最小大小。但是,它没有指定最大大小。任何浏览器都可以存储任意大小的cookie,只要它在至少 4kb即可。 作为Web开发人员,您尝试仅创建适用于所有浏览器的Cookie。在这一点上抓住你的手并不是徒步旅行 - 它只是通过接受它来处理大饼干的状况,而其他人拒绝它。这既不正确也不正确。这很简单。

我不遵循你的观点,认为它有潜在危险。如果用户被阻止访问您的网站,由于您设置的cookie在某些浏览器中无效,那就是您的错,不是吗? Safari正在处理其他浏览器没有处理的问题。