看书中一个关于 Cookie 标准的问题,求助。

2017-06-19 21:26:34 +08:00
 codermagefox

今天活儿不多,在整理自己有关于 Cookie 的知识。 对于 Cookie 的缺陷,MDN 是这样写的: 3.Cookie 的大小限制在 4KB 左右。对于复杂的存储需求来说是不够用的。

然后发现《 JavaScript 权威指南》 20.2.4 对于 Cookie 的局限性是这样描写的: 然后我一时兴起就去找了一下所谓的[RFC2965]( https://www.ietf.org/rfc/rfc2965.txt ) 原文是这样的:

5.3 Implementation Limits

Practical user agent implementations have limits on the number and size of cookies that they can store. In general, user agents' cookie support should have no fixed limits. They should strive to store as many frequently-used cookies as possible. Furthermore, general-use user agents SHOULD provide each of the following minimum capabilities individually, although not necessarily simultaneously:

  *  at least 300 cookies

  *  at least 4096 bytes per cookie (as measured by the characters
     that comprise the cookie non-terminal in the syntax description
     of the Set-Cookie2 header, and as received in the Set-Cookie2
     header)

  *  at least 20 cookies per unique host or domain name

我瞬间懵逼了啊!!人家不明明说的是 at least 300 cookies 么!不是明明就是 at least 4096 bytes 么!按照我的理解,也就是说,标准根本就没有做限制,现在的限制标准只是浏览器自己加的吧!

感觉自己瞬间卡住了,没法总结了,求 V2 的老司机指点一下,是我理解错了吗,还是书上扯淡了?

1528 次点击
所在节点    前端开发
7 条回复
SoloCompany
2017-06-19 23:27:30 +08:00
给你再多也没用,给你 10mb 的 cookie 每次请求的 header 都超过 10m 你受得了?先不说 header 大小有限制
Lonely
2017-06-19 23:38:06 +08:00
然后呢?去把各大浏览器和各路作者都批判一番?
xmumiffy
2017-06-19 23:40:08 +08:00
小学的最多最少问题
标准制定“浏览器至少要支持 4MB cookies ”,那么网页最大可用的 cookies 为多少?
FrankFang128
2017-06-20 00:49:26 +08:00
前端的中文资料是这样的。瞎扯
FrankFang128
2017-06-20 00:52:18 +08:00
你应该这么理解:
既然标准说至少 4k,那么浏览器的下限就是 4k,你的网站要兼容所有浏览器,就应该把 4k 当做上限。
这么看来书上说得也没错。
FrankFang128
2017-06-20 00:55:27 +08:00
@xmumiffy 写书的人应该把中间的思路挑明比较好。
popok
2017-06-20 08:16:13 +08:00
那就把现在市面上的主流浏览器拉出来测试一下呗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/369642

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX