【问题标题】:Cookies: why aren't they big enough? what is there to store that a cookie can't contain?饼干:为什么还不够大?有什么可以存储 cookie 不能包含的内容?
【发布时间】:2015-06-24 14:29:49
【问题描述】:

我缺乏经验,不明白为什么您需要超过 cookie 的大小限制。本地存储大约有 5mb,有人可能会在这么大的本地存储值中投入什么?我真的只是想了解一下,有人可以给我举例说明人们存储的内容不仅仅是几个词或一个大链接吗?

【问题讨论】:

标签: javascript cookies size local-storage


【解决方案1】:

哦,这很简单。如果您设计了一个大小合适的应用程序,并且出于某种原因决定要将应用程序的状态存储在客户端中,那么 4kb 并不是很多。

例子:

  • 一个树形菜单,您想要存储每个菜单项的折叠/展开状态
  • 您希望所有选择都具有默认值的搜索表单
  • 很多其他的东西

这就是为什么最后,您根本不将这些东西存储在 cookie 中(当然,除了安全原因)

【讨论】:

  • 但是每个 cookie 有 4kb,对吧?所以如果我想存储一个应用程序的状态,你只需将它全部存储在不同的 cookie 中,这不是人们通常的做法吗?
  • 在某些浏览器上,cookie 可能大于 4kb。但你不能指望这一点。请参阅 Gumbo 的答案以获取 IETF 规范的链接。当然,您可以随时存储多个 cookie。
【解决方案2】:

本地存储可以离线使用,cookies不能。 cookie 也会随请求发送到服务器。您不会希望每个 HTTP 请求都发送 5MB。

【讨论】:

    【解决方案3】:

    设计人员希望在移动设备未连接到互联网时可用的任何针对移动设备的 Web 应用程序都需要大量存储空间。想想电子邮件、RSS、文档开始:)

    我喜欢的一个特定应用是http://www.readability.com/

    【讨论】:

      【解决方案4】:

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

      但除此之外:HTTP cookies 于 1994 年首次起草(IETF specification 日期为 1997 年); specification of Web Storage 于 2009 年开始,目前仍在进行中。想一想这 15 年间 Web 是如何发展的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-04
        • 2014-11-26
        • 2021-02-24
        • 1970-01-01
        相关资源
        最近更新 更多