为了账号安全,请及时绑定邮箱和手机立即绑定

localStorage有多持久?

/ 猿问

localStorage有多持久?

跃然一笑 2019-09-21 14:17:24

我正在编写的插件在很大程度上依赖于localStorage。所有用户设置都存储在其中。有些设置要求用户写正则表达式,如果他们的正则表达式规则在某个时候消失了,他们会感到很遗憾。所以现在我想知道localStorage的持久性如何。


从规格:


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


上面看起来像在客户端上的cookie一样工作。即,当用户清除所有浏览器数据(历史记录,Cookie,缓存等)时,localStorage也将被截断。这个假设正确吗?


查看完整描述

3 回答

?
SMILET

Mozilla像cookie一样实现它:


当时间范围为“所有”时,可以通过“工具->清除最近的历史记录-> Cookies”清除DOM存储(通过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


至于“ Cookie的替换”,不完全是


Cookies和本地存储确实可以达到不同的目的。Cookies主要用于读取服务器端,LocalStorage只能读取客户端。因此,问题是,在您的应用程序中,谁需要此数据-客户端还是服务器?


查看完整回答
反对 回复 2019-09-21
?
慕村225694

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

本地存储和会话存储一起旨在替代cookie,从而定义更一致的API。与Cookie相比有一些区别:

  • 虽然可以从客户端和服务器端访问cookie,但是通常只能从客户端访问Web存储,尤其是本地存储。

  • 每个域(Firefox,Google Chrome和Opera以及IE中的10MB)的增强容量(用于Cookie的官方大小为4 KB)超过5MB。

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


查看完整回答
反对 回复 2019-09-21
?
暮色呼如

使用本地存储要注意的一件事。这是非常特定于浏览器的。如果您使用firefox存储数据,则无法在chrome或ie等中使用。此外,就清除cookie和会话而言,我注意到对于是否清除本地存储,它也是特定于浏览器的。如果您真的打算依靠应用程序的本地存储,我会仔细研究很多细节。


查看完整回答
反对 回复 2019-09-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信