不同类型的浏览器存储

时间:2010-10-03 02:17:32

标签: cookies html5 local-storage session-storage

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

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

有什么区别?我何时应该使用另一个?

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

2 个答案:

答案 0 :(得分:6)

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

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

也许您很快就会听到 IndexedDB (现在支持IE 10,FF和Chrome),这是一种本地/ sessionStorage,但您可以使用它来存储javascripts对象而不是只有字符串。

答案 1 :(得分:1)

您要问的是有关Web存储的问题,它基本上是HTML Web存储。 本地存储-用作易失性存储(没有到期) 会话存储-直到正在使用会话或打开选项卡 IndexedDb-使用后,您必须手动清除它(历史记录或进入存储空间) WebSQL-较旧,但仍使用相同的SQL查询-现在已不再是HTML5规范的一部分。 Cookies-最常保存少量数据的Cookie,所有网站都使用它们,如今,每个使用它的网站都应要求用户许可。那就是GDPR BTW!

Image from Chrome Developer Tools