【问题标题】:Localstorage Vs Cookies - PerformanceLocalstorage 与 Cookies - 性能
【发布时间】:2011-12-09 15:03:41
【问题描述】:

既然 cookie 是服务器端的,而 Localstorage 是客户端的,哪个是用户检索最快的?(参考Local Storage vs Cookies

我假设如果客户端的机器很慢,那么 cookie 会更快?还是没有区别?

我在一个项目中同时使用 localstorage 和 cookies,两者都是使用 jQuery 检索的。这意味着,必须加载 jquery,然后检索数据。

我怎样才能加快速度?我不知道两者是如何工作的。例如,有人说一旦 HTML 尝试在样式和 js 文件之前加载,就会检索 Cookies,而其他人说当 DOM 准备好时。

有谁知道用户检索哪个更快的准确细节?

谢谢

【问题讨论】:

  • Since cookies are server-side 这是不正确的。 Cookie 也存储在客户端。
  • cookie 在任何内容之前在 HTTP 标头中发送
  • 不过,Cookies主要是在服务器端读取,本地存储只能在客户端读取
  • 您不需要 jQuery 来检索 cookie 和本地存储。 jQuery 所做的只是让跨浏览器变得更容易。
  • 检索的差异是微不足道的,但是在每个请求中都会将 cookie 发送到服务器,即使它们没有在那里使用,如果不需要,这会浪费带宽

标签: jquery performance cookies


【解决方案1】:

cookies 和 LocalStorage 都保存在计算机磁盘中,cookies 由服务器检索,可以通过服务器设置。这里唯一的区别是 Cookie 可以在 HTTP 请求和响应上传输到服务器或从服务器传输。 BOTH OF THEME 速度很快,您无需担心速度。

由于某些跟踪浏览器功能,我更喜欢使用 Cookie。但如果你愿意,你可以选择 LocalStorage。

【讨论】:

    【解决方案2】:

    既然 cookie 是服务器端的,Localstorage 是客户端的,那么用户检索哪个最快?

    您的假设不正确。 Cookie 也存储在客户端。 localStorage 和 cookie 都存储在客户端。

    然而,区别在于,cookie可以设置,从服务器端进行操作。 localStorage 可从客户端使用。

    我假设如果客户端的机器很慢,那么 cookie 会更快?或者这没有区别[原文如此]?

    它们是如此轻量级的操作,我不会担心速度。

    两者之间的性能不是选择一个的因素。这是您的需求。

    Cookie:

    1. 已经在浏览器中工作了长时间。每一个现代的和不太现代的浏览器都支持 cookie。
    2. 可以在服务器端访问和操作。
    3. 通常限制为几千字节,具体取决于浏览器。

    本地存储:

    1. 是一个相对较新的概念。并非所有浏览器都支持它。例如 IE 6、7,你就不走运了。
    2. 无法从服务器端访问。您可以使用存储在 localStorage 中的数据对服务器进行 AJAX 回调。
    3. 拥有能够存储 5 MB 的 W3C recommendation

    我怎样才能加快速度?

    我认为任何一个都不能直接引入性能问题。其他问题,比如等待 DOM 处于就绪状态,等待脚本文件加载;等会导致减速。

    【讨论】:

    • 谢谢。我想我从这里学到了一些东西。我正在处理仪表板项目,并且通过拖放对事物进行排序。订单已保存,所以我在想最好将它们存储在哪里,以便在返回时更快地检索数据...
    • @jQuerybeast 从 localStorage 或 cookie 读取这些天在浏览器中的速度非常快,以至于您可以从其中任何一个读取 1 或 1,000 次,而不会注意到差异。
    • 一个 jsperf 确实存在比较两者:jsperf.com/cookie-vs-localstorage 但同时,如果您所做的只是一个集合或获取,那么两者之间的差异非常小。如果您向两者发出数千个请求,您只会看到两者之间的差异,这是不太可能的。根据您的需要进行选择,而不是速度。
    【解决方案3】:

    cookies 和 LocalStorage 都存储在客户端本地。阅读它们的速度应该没有明显差异。

    Cookie 确实存在在 HTTP 请求和响应中与服务器之间传输的缺点。这可能会增加页面大小,增加页面加载时间。

    如果您使用 jQuery 读取 cookie/LocalStorage,那么如果 jQuery 脚本不在浏览器的缓存中,则浏览器将不得不等待下载。

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多