代码之家  ›  专栏  ›  技术社区  ›  pilsetnieks

允许的最大cookie数

  •  12
  • pilsetnieks  · 技术社区  · 16 年前

    据谷歌搜索告诉我,允许的最大cookie数量很大程度上取决于浏览器,但是我找不到任何关于现代浏览器允许多少cookie的最新数据。

    我需要在cookie中存储大量的用户首选项(对于尚未注册的用户),那么最好的方法是什么?(同样,这些cookie可以通过javascript客户端和php服务器端访问)

    6 回复  |  直到 10 年前
        1
  •  22
  •   Berzemus    16 年前

    rfc :

    • 至少300块饼干

    • 每个cookie至少4096字节(根据 语法中包含非终端cookie的字符 设置cookie头的描述)

    • 每个唯一主机或域名至少20个cookie

    这些是最低要求。IE6小组没有收到。其他一切都是高度特定于浏览器的。您最好编写一个测试平台来测试每个浏览器。用少量增量步骤测试最大尺寸和数量(并检查它们是否仍然可读)。

    此外,我似乎还记得阿帕奇有一个问题,与大量的饼干。但我不记得我在哪里看到的。

    下面是一个小的cookie测试脚本: http://krijnhoetmer.nl/stuff/javascript/maximum-cookies/

        2
  •  15
  •   Greg    16 年前

    最好的办法就是不要把它们放在饼干里。

    将它们存储在数据库中,并将db键存储在cookie中。如果只是一些偏好,那么安全性就不是什么问题。

    别忘了,每次请求都会发送cookie——如果你有2千字节的cookie数据,并且在一个页面上加载10个图像,那就多了22千字节的数据。

        3
  •  6
  •   Deepak Thomas    12 年前

    cookie数量:

    • Chrome9允许每个域有180个cookie
    • 火狐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-restrictions/

        4
  •  4
  •   Iain    12 年前

    我今天研究了这个问题,如果你想支持大多数浏览器,那么每个域不超过50个cookie,每个域不超过4095字节(即所有cookie的总大小<=4095字节)

    要了解更多信息, here is the test page and results .

        5
  •  2
  •   JoeBloggs    16 年前

    iirc,大多数人是20个,有些人是更多,一个浏览器是10个(同样是iirc,ie5.5?)最多10个被认为是安全数字。

    不管怎样,您实际上不需要不止一个——只需要使用一个来存储一个ID客户端,并根据相同的ID存储所有需要存储的服务器端数据。除此之外,您离开客户端的数据越少,它们删除/损坏/黑客等的数量就越少。

        6
  •  0
  •   kravietz    10 年前

    不知道从他们的角度看这有多有意义,但是 I've seen websites in the wild 上面放了450多块饼干 reporting to over 140 distinctive third party domains .