首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >localStorage有多持久?

localStorage有多持久?
EN

Stack Overflow用户
提问于 2012-03-31 02:09:59
回答 5查看 85K关注 0票数 109

我正在编写的一个插件严重依赖于localStorage。所有用户设置都存储在其中。一些设置要求用户编写正则表达式,如果他们的正则表达式规则在某个时候消失了,他们会很难过。所以现在我想知道localStorage到底有多持久。

来自the specs

用户代理应仅出于安全原因或在用户请求时才使本地存储区域中的数据过期。

上面的代码看起来就像客户端的cookies一样。即,当用户清除所有浏览器数据(历史、cookie、高速缓存等)时,localStorage也将被截断。这个假设是正确的吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-31 03:33:44

Mozilla像cookies一样实现它:

当时间范围是“一切”时,可以通过"Tools -> Clear Recent History -> Cookie“清除Cookies存储(通过nsICookieManager::removeAll)

https://developer.mozilla.org/en/DOM/Storage

在DOM存储中,不可能为您的任何数据指定过期期限。所有过期规则都由用户决定。对于Mozilla,这些规则中的大多数都是从Cookie相关的过期规则继承而来的。因此,您可能希望大多数DOM存储数据至少持续一段有意义的时间。

http://ejohn.org/blog/dom-storage/

Chrome像缓存一样实现它:

LocalStorage不是安全存储

HTML5本地存储将未加密的数据以字符串形式保存在常规浏览器缓存中。

持久性

在磁盘上,直到被用户(删除缓存)或应用程序删除

https://developers.google.com/web-toolkit/doc/latest/DevGuideHtml5Storage

至于“饼干的替代品”,not entirely

Cookie和本地存储确实有不同的用途。Cookie主要用于读取服务器端,LocalStorage只能在客户端读取。所以问题是,在你的应用程序中,谁需要这些数据--客户端还是服务器?

票数 74
EN

Stack Overflow用户

发布于 2012-03-31 02:14:01

基本上,你不应该在很大程度上依赖于本地存储()。

本地存储和会话存储旨在取代cookies,定义更一致的API。与cookie有一些不同之处:

  • 虽然cookies可以从客户端和服务器端访问,但网络存储,特别是本地存储,只能从客户端访问。
  • 增强了容量( cookies的官方容量为4 KB),每个域(火狐、谷歌浏览器和Opera )的容量超过5MB,IE中的容量为10MB。

是的,,你的假设是正确的。

票数 18
EN

Stack Overflow用户

发布于 2012-03-31 02:16:14

关于使用本地存储,有一件事需要注意。这是非常特定于浏览器的。如果你用火狐存储数据,它将不会在chrome或ie等浏览器中可用。另外,就清除cookie和会话而言,我注意到是否清除本地存储也是浏览器特有的。如果你真的计划依赖于本地存储的应用程序,我会深入研究很多细节。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9948284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档