不同类型的浏览器存储
Posted
技术标签:
【中文标题】不同类型的浏览器存储【英文标题】:Different types of browser storage 【发布时间】:2011-04-20 09:11:32 【问题描述】:从此幻灯片http://slides.html5rocks.com/#slide8 并从 Chrome:查看 > 开发人员 > 开发人员工具 > 存储选项卡,
我了解到浏览器存储至少有 4 种类型: 数据库、本地存储、会话存储、Cookie (还有更多吗?)
有什么区别?我应该什么时候使用一个而不是另一个?
例如,如果一个站点想要存储用户偏好,该站点应该告诉浏览器使用哪种存储方法?
【问题讨论】:
【参考方案1】:您要问的是 Web Storage,它基本上是一个 HTML Web Storage。 本地存储 - 用作易失性存储(没有过期) 会话存储 - 直到正在使用会话或打开选项卡 IndexedDb - 一旦使用,您必须手动清除它(历史或进入存储) WebSQL - 旧的但仍然使用相同的 SQL 查询 - 现在它不是 HTML5 规范的一部分。 Cookies - 是最常见的保存少量数据的方法,所有网站都在使用它们,现在每个使用它的网站都应该请求用户许可。顺便说一句,这就是 GDPR!
【讨论】:
【参考方案2】:它们都是浏览器端存储,为网络应用/网站提供离线/缓存机制:
本地存储:简单的键值存储,数据总是以字符串的形式存储。域的所有页面都可以访问相同的数据,并且即使在您关闭浏览器后仍然保持不变。 会话存储:相同,但对于一个 URL 和一个浏览器会话是本地的(在浏览器关闭时删除)。 SQL 数据库(又名 WebSQL):存储在本地数据库中,您可以通过 SQL 请求访问...似乎已被弃用,因为 IE 和 Firefox 已声明不会实现它。也许您很快还会听说 IndexedDB(现在在 IE 10、FF 和 Chrome 上受支持),它是一种本地/会话存储,但您可以使用它来存储 javascripts 对象而不是只有字符串。
【讨论】:
我只缺少 cookie :)以上是关于不同类型的浏览器存储的主要内容,如果未能解决你的问题,请参考以下文章