【问题标题】:What is the maximum size of a cookie file?cookie 文件的最大大小是多少?
【发布时间】:2010-06-24 03:54:58
【问题描述】:

对 cookie 的大小有任何限制吗?另外,这个浏览器依赖吗?

【问题讨论】:

  • 如果您的数据太大以至于这成为一个问题,那么您无论如何都不应该将其存储在 cookie 中。

标签: asp.net web-applications


【解决方案1】:

“官方”的最大大小是 4KB,但我更希望很好保持在这个以下:最多不超过几百字节。

原因是,每个请求都会将 cookie 从客户端传输到服务器 - 即使在请求图像、css 和 js 文件时(如果它们位于同一主机上something you should avoid in general,但是对于小型网站可能不值得费心)。这意味着您将要求客户端为每个请求传输 4KB - 还要记住大多数消费者宽带的上传速度比下载速度慢得多。

【讨论】:

  • +1 |很好的解释加上提到上传速度问题。我认为我什至从未遇到过上传速度接近或超过下载速度的人。我的上传速度几乎是下载速度的一半。
【解决方案2】:

重要的是官方 cookie 规范 RFC 2965 规定了浏览器应遵守的最低要求

5.3 实施限制 实际的用户代理实施有限制 关于 cookie 的数量和大小 他们可以存储。一般来说,用户 代理的 cookie 支持应该没有 固定限制。他们应该努力 存储尽可能多的常用 cookie 尽可能。此外,通用 用户代理应该提供每个 遵循最低能力 个别,虽然不一定 同时:

  • 至少 300 个 cookie
  • 每个 cookie 至少 4096 字节(以 包含 cookie 非终端 的语法描述 Set-Cookie2 标头,并在收到 Set-Cookie2 标头)
  • 至少 20 每个唯一主机或域名的 cookie

为特定用户创建的用户代理 目的或容量有限 设备应提供至少 20 4096 字节的 cookie,以确保 用户可以与 基于会话的源服务器。

Set-Cookie2 响应中的信息 标头必须保留在其 整体。如果由于某种原因有 存储 cookie 的空间不足, 它必须被丢弃,而不是截断。 应用程序应该使用尽可能少和尽可能 尽可能小饼干,他们 应该从容应对损失 一个cookie。

阅读更多: http://www.faqs.org/rfcs/rfc2965.html#ixzz0rjy5CJQa

From the cookie FAQ:

Microsoft 将 cookie 保存到 “Internet 临时文件”文件夹,一个 可以设置的系统文件夹 最大尺寸(默认为 2% 你的硬盘)。

无论如何,请记住最 cookie 文件是 4KB 或更小,所以 你需要大约一百万个饼干 填满 4GB 驱动器。这是 难以置信。

您会看到4kb limit reference around the internet 以及其他有用的统计信息。

【讨论】:

  • Firefox 限制在 4096,即使它只是最低限度。
  • 然后 Firefox 正确地实现了规范,但只是最低限度的建议。较长的 cookie 对我们来说很不幸。
【解决方案3】:

4kb = 4096 字节

如果我没记错的话,独立于浏览器。见Can cookies get too big

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2015-05-04
    • 2011-01-26
    • 2013-04-22
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多