Web浏览器的cookie密钥的最大大小是多少?
我知道cookie的最大大小是4KB,但密钥是否也有限制?
您阅读的4K限制是针对整个cookie,包括名称,值,到期日期等.如果您想支持大多数浏览器,我建议将名称保持在4000字节以下,并将整体cookie大小保持在4093字节以下.
有一点需要注意:如果名称太大,则无法删除cookie(至少在JavaScript中).通过更新并将其设置为过期来删除cookie.如果名称太大,比如4090字节,我发现我无法设置到期日期.我只关注这个问题,而不是我计划有一个很大的名字.
要了解更多信息,请参阅常见浏览器的" 浏览器Cookie限制 ".
虽然关于这个问题,如果你想支持大多数浏览器,然后不超过每50块域饼干,和每个域4093个字节.也就是说,所有cookie的大小不应超过4093字节.
这意味着您可以拥有1个4093字节的cookie,或2个2045字节的cookie等.
由于IE7,我曾经说过4095字节,但是现在Mobile Safari有4096字节,每个cookie有3字节的开销,所以最多4093字节.
实际上,RFC 2965(定义cookie如何工作的文档)指定不应该有cookie的密钥或值大小的最大长度,并鼓励实现支持任意大的 cookie.每个浏览器的实现最大值必然不同,因此请查阅单个浏览器文档.
请参阅RFC中的第5.3节"实施限制" .
如果应用程序规范允许您(它支持IE8 +),您也可以使用网络存储.
它拥有5M(大多数浏览器)或10M(IE)的内存.
" Web存储(第二版) "是API," HTML5本地存储 "是一个快速入门.
在自己测试了几个浏览器并使用浏览器镜头后,我编译了以下列表
Cookie密钥(用于标识会话)和cookie是以不同方式使用的相同内容.所以限制是一样的.根据微软的4096字节.
MSDN
cookie通常限制为4096字节,每个站点不能存储超过20个cookie.通过将单个cookie与子键一起使用,您可以使用较少的20个cookie来分配您的站点.此外,单个cookie占用大约50个字符用于开销(到期信息等),加上存储在其中的值的长度,所有这些都计入4096字节的限制.如果存储五个子密钥而不是五个单独的cookie,则可以节省单独cookie的开销,并可以节省大约200个字节.