从这张幻灯片来看 http://slides.html5rocks.com/#slide8以及来自 Chrome 的:查看>开发人员>开发人员工具>存储选项卡,

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

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

例如,如果一个网站想要存储用户首选项,该网站应该告诉浏览器使用哪种存储方法?

有帮助吗?

解决方案

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

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

也许您很快还会听说 索引数据库 (现在支持 IE 10、FF 和 Chrome),这是一种 local/sessionStorage,但您可以使用它来存储 javascript 对象,而不仅仅是字符串。

其他提示

你问的事情是关于Web存储这基本上是一个HTML Web存储。 本地存储 - 用作易失性存储(没有到期) 会话存储 - 直到会话正在使用或选项卡打开 IndexedDB的 - 一旦使用,您必须手动清除它(历史记录或存储会) 的WebSQL - 老,但仍然使用相同的SQL查询 - 它不是HTML5规范的一部分了。 饼干 - 是最常见的,以节省约小数据,它们是由所有的网站,这些天,他们用它应该向用户权限的每一个网站使用。这是GDPR BTW!

“图片从Chrome开发者工具”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top