当前位置: 首页 > 面试题库 >

本地存储与Cookie

段干楚青
2023-03-14
问题内容

我想通过将所有Cookie移到本地存储中来减少其加载时间,因为它们似乎具有相同的功能。除了明显的兼容性问题以外,使用本地存储替换cookie功能是否有任何利弊(尤其是性能方面的优势)?


问题答案:

Cookies和本地存储有不同的用途。Cookies主要用于读取 服务器端 ,本地存储只能由 客户端
读取。所以问题是,在您的应用程序中,谁需要此数据-客户端还是服务器?

如果它是您的客户端(您的JavaScript),则一定要切换。通过在每个HTTP标头中发送所有数据来浪费带宽。

如果是您的服务器,则本地存储不是那么有用,因为您必须沿某种方式转发数据(使用Ajax或隐藏的表单字段等)。如果服务器仅需要每个请求的全部数据的一小部分,则可以这样做。

无论哪种方式,您都希望将会话cookie保留为cookie。

根据技术差异以及我的理解:

  1. 除了作为一种古老的数据保存方式之外,Cookie还为您提供了 4096 个字节的限制(实际上为4095 字节),它是每个cookie的限制。本地存储是一样大的 每个域5MB - 也提到了它。

  2. localStorageStorage接口的实现。它存储 没有到期日期的 数据,并且 通过JavaScript或清除浏览器缓存/本地存储的数据来清除-与cookie到期不同。



 类似资料:
  • 问题内容: 除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)? 问题答案: localStorage和sessionStorage都扩展了Storage。除了的预期的“非持久性”外,它们之间没有区别。 也就是说,存储在中的数据将 一直保留到明确删除为止 。所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。 对于, 更改仅在每个选项卡上可用

  • 问题内容: 我有一个存储大量客户端数据的问题,我无法确定哪种方法更好。现在,我正在使用AngularJS的cacheFactory,它可以正常工作,但是所有数据都会通过新会话重新加载。值得使用本地存储代替吗? 问题答案: 如果您的目标是存储客户端数据和持久性数据,则不能使用$ cacheFactory ,它只缓存当前会话的数据。 一种解决方案是使用新的本地存储API。这个很棒的Angular模块为

  • localStorage 本地存储 存储针对QQ帐号隔离 数据存储于本地文件中。游戏结束后不会被删除 函数 key( index) 获取对应索引的key 手q 版本7.8.5 参数 参数名 类型 说明 index number 索引值 返回值 类型 说明 string 说明 示例 var stringKey = BK.localStorage.key(0); getItem( key) 获取ke

  • 本地存储提供了localstore和sessionstore两个类。localstore使用本地文件持久化数据,因此该类存储的数据不会失效。sessionstore存储的数据会在插件运行结束时清空,因此有效期为插件运行期。localstore和sessionstore的API接口一致。 set QN.localstore.set({ query: { key: 'name'

  • BaaS 提供本地存储功能,皆为同步方法。 保存数据 wx.BaaS.storage.set(key, value) 如果 storage 里面 key 值对应的 value 已经存在,执行此函数会覆盖掉原来该 key 对应的 value。 参数说明 参数 类型 必填 说明 key String 是 本地存储中指定的 key 值 value Object/String 是 需要存储的内容 示例代码

  • 在上一节解决了如何对资源请求进行拦截代理之后,要实现网页的离线缓存还需要解决本地存储的选择与管理问题。 从前面学习中我们知道,处于同一作用域下的网页会共用一个 Service Worker 线程,这个 Service Worker 会同时处理来自不同页面的资源请求的拦截和响应,因此基于性能上的考虑,Service Worker 在设计标准时就要求了任何耗时操作都必须异步实现。这也就导致了在 Ser