当前浏览器的最大 Cookie 大小(2018 年)

gue*_*tli 11 http cross-browser rfc

从 Django 文档:

RFC 2109 和 RFC 6265 都声明用户代理应该支持至少 4096 字节的 cookie。对于许多浏览器,这也是最大尺寸。

来源:https : //docs.djangoproject.com/en/2.1/ref/request-response/

这在今天仍然有效吗?

当前浏览器的最大cookie大小是多少?

Mum*_*h81 14

RFC6265(2011 年 4 月)中的 cookie 规范定义是当前的 RFC(无新草案和新 RFC),目前所有主要浏览器(IE、Chrome、Opera、Firefox)都支持。

  • 每个 cookie 至少 4096 字节(以 cookie 的名称、值和属性的长度总和来衡量)。

  • 每个域至少 50 个 cookie。

  • 总共至少 3000 个 cookie。

所以所有现代浏览器都至少支持这一点。任何其他限制值都是一场赌博

6.1。限制https://datatracker.ietf.org/doc/rfc6265/了解更多详情

  • 我注意到这 ** 不** 意味着浏览器支持`50 cookie * 4096 字节 == 204,800 字节 == 204KiB 每个域`。我发现如果域的总数据超过 5-8KB,Safari 和 Chrome 就会开始拒绝 cookie。 (2认同)
  • 经过一些更多的测试,看来你是对的。如果提供多个​​ Set-Cookie 标头,则对所有 Set-Cookie 标头的串联值应用 4096 字节的限制。如果创建仅在一个标题中完成,您仍然可以创建多个 cookie。对于多个 Set-Cookie 标头,似乎只有最后一个有效。达到每个域 204KB 限制的唯一方法是使用 javascript 创建 cookie。另一个奇怪的点是使用 Set-Cookie 标头创建的 cookie 没有插入 Chrome 的 sqllite 数据库中,但仍会在下一个请求中发送 (2认同)