Cookies:为什么他们不够大?有什么存储的cookie不能包含?

问题描述:

我没有经验,不明白为什么你需要超过cookie的大小限制。本地存储容量大约为5MB,有人可能会投入一个本地存储价值那么大?我真的只是想明白,有人能给我举例说明人们存储的内容不仅仅是几个字或一个大的链接吗?Cookies:为什么他们不够大?有什么存储的cookie不能包含?

+4

[“640 K对任何人都应该足够了。” - Bill Gates,1981](http://www.slothmud.org/~hayward/mic_humor/mic_quotes.html) – 2011-03-16 12:40:39

+0

[HTTP cookies](http://replay.waybackmachine.org/20020803110822/http: wp.​​netscape.com/newsref/std/cookie_spec.html)于1994年首次指定(1997年的[IETF规范](http://tools.ietf.org/html/rfc2109)); [网络存储规范](http://www.w3.org/TR/webstorage/)始于2009年,目前仍在进行中。 – Gumbo 2011-03-16 12:44:29

+0

@Sean [这实际上并非比尔盖茨所说的](http://en.wikiquote.org/wiki/Bill_Gates)。 – alex 2011-03-16 12:45:43

哦,这很简单。如果你设计了一个体积适中的应用程序,并由于某种原因决定你想将应用程序的状态存储在客户端,那么4kb并不是很多。

例子:

  • 树形菜单,要存储的每个菜单项的崩溃/扩展状态
  • 要对所有的选择
  • 很多默认值的搜索表单其他的事情

这就是为什么,到了最后,你根本就没有这些东西存储在cookie中(除了安全方面的原因,当然)

+0

但每个cookie都有4kb,对吧?所以如果我想存储应用程序的状态,则只需将其全部存储在不同的cookie中,是不是人们通常会这样做? – 2011-03-27 05:02:16

+0

在某些浏览器上,Cookie可能大于4kb。但你无法期待这一点。请参阅** Gumbo **的IETF规范链接。当然,你可以随时存储几个饼干。 – 2011-03-27 09:35:32

任何针对移动设备的Web应用程序(设计师希望在移动设备没有连接到互联网时都可以使用)都有很多存储需求。想想电子邮件,RSS,文件与:)

开始,我的爱,它这是http://www.readability.com/

一个具体的应用程序,这两个存储解决方案都不太可比的,因为他们的工作方式不同:尽管在这两种情况下的数据是在客户端存储Cookie时,每次请求都会发送一个Cookie,而Web存储仅在本地使用。

但除此之外:HTTP cookies最初于1994年起草(IETF specification日期为1997年); specification of Web Storage始于2009年,目前仍在进行中。想想这15年来网络如何发展。

本地存储可用于离线使用,但cookies不能。 cookies也会随着请求发送到服务器..你不希望每个HTTP请求都发送5MBs。