我正在编写的一个插件严重依赖于localStorage。所有用户设置都存储在其中。一些设置要求用户编写正则表达式,如果他们的正则表达式规则在某个时候消失了,他们会很难过。所以现在我想知道localStorage到底有多持久。
用户代理应仅出于安全原因或在用户请求时才使本地存储区域中的数据过期。
上面的代码看起来就像客户端的cookies一样。即,当用户清除所有浏览器数据(历史、cookie、高速缓存等)时,localStorage也将被截断。这个假设是正确的吗?
发布于 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只能在客户端读取。所以问题是,在你的应用程序中,谁需要这些数据--客户端还是服务器?
发布于 2012-03-31 02:14:01
基本上,你不应该在很大程度上依赖于本地存储()。
本地存储和会话存储旨在取代cookies,定义更一致的API。与cookie有一些不同之处:
是的,,你的假设是正确的。
发布于 2012-03-31 02:16:14
关于使用本地存储,有一件事需要注意。这是非常特定于浏览器的。如果你用火狐存储数据,它将不会在chrome或ie等浏览器中可用。另外,就清除cookie和会话而言,我注意到是否清除本地存储也是浏览器特有的。如果你真的计划依赖于本地存储的应用程序,我会深入研究很多细节。
https://stackoverflow.com/questions/9948284
复制相似问题