12

从此幻灯片http://slides.html5rocks.com/#slide8 和 Chrome:查看 > 开发人员 > 开发人员工具 > 存储选项卡,

我了解到浏览器存储至少有 4 种类型:数据库、本地存储、会话存储、Cookie(还有更多吗?)

有什么区别?我什么时候应该使用其中一种?

例如,如果一个站点想要存储用户偏好,该站点应该告诉浏览器使用哪种存储方法?

4

2 回答 2

13

它们都是浏览器端存储,为 Web 应用程序/站点提供离线/缓存机制:

  • 本地存储:简单的键值存储,数据总是以字符串的形式存储。域的所有页面都可以访问相同的数据,并且即使在您关闭浏览器后仍然保持不变。
  • 会话存储:相同,但对于一个 URL 和一个浏览器会话是本地的(在浏览器关闭时删除)。
  • SQL 数据库(又名 WebSQL):存储在本地数据库中,您可以通过 SQL 请求访问......似乎已经被弃用,因为 IE 和 Firefox 已经声明他们不会实现它。

也许您很快还会听说IndexedDB(现在在 IE 10、FF 和 Chrome 上受支持),它是一种本地/会话存储,但您可以使用它来存储 javascripts 对象而不仅仅是字符串。

于 2010-10-18T02:09:35.490 回答
2

您要问的是 Web Storage,它基本上是一个 HTML Web Storage。本地存储 - 用作易失性存储(没有过期) 会话存储 - 直到正在使用会话或打开选项卡 IndexedDb - 一旦使用,您必须手动清除它(历史或进入存储) WebSQL - 旧但仍然使用相同的 SQL 查询 - 现在它不是 HTML5 规范的一部分。Cookies - 是最常见的保存少量数据的方法,所有网站都在使用它们,现在每个使用它的网站都应该请求用户许可。顺便说一句,这就是 GDPR!

来自 Chrome 开发者工具的图片

于 2018-07-04T17:43:57.093 回答