↓ 跳过正文
  1. 文章/

浏览器存储技术概述

·
Rubén Infante Docio
作者
Rubén Infante Docio
软件工程师
目录

在这篇文章中,我将解释HTML5浏览器中不同的存储技术,以生成能够离线运行的网页应用,使用现有的标准技术。

sessionStorage
#

它是一个将信息存储在当前域当前标签页中的对象。但当页面刷新或标签恢复时,它依然存在。新的标签页窗口会创建一个新的 SessionStorage。

// Almacena la información en sessionStorage
sessionStorage.setItem('key', 'value');
// Obtiene la informacion almacenada desde sessionStorage
var data = sessionStorage.getItem('key');

localStorage
#

为每个域名提供长期存储访问。

// Almacena la información en localStorage
localStorage.setItem('key', 'value');
// Obtiene la informacion almacenada desde localStorage
var data = localStorage.getItem('key');

应用缓存(AppCache)
#

它是一种缓存网页应用的机制,使其能够离线使用。通过清单文件,我们可以指定哪些资源将离线可用。它还减轻了服务器负载,加快了浏览速度。

参考文献
#

https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache https://html.spec.whatwg.org/multipage/browsers.html#appcache

索引数据库
#

IndexedDB 是一个用于客户端存储大量结构化数据的 API。大于 sessionStorage、LocalStorage 或 globalStorage

结论
#

这是处理大量数据的正确技术

了解更多
#

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

文件 API
#

它允许我们处理文件结构,保存并在磁盘上读取。它适用于诸如想在离线时模拟文件上传的情况,可以保存到磁盘后再同步,但对于页面加载,磁盘写入成本较高,我们必须尽量避免。

在 IE 和 Chrome 中,使用都需要用户权限。存储限制是可用的磁盘空间。

更多信息和示例
#

http://www.html5rocks.com/es/tutorials/file/filesystem/

可用存储
#

BrowserssessionStoragelocalStorageFileAPI 应用缓存(AppCache)索引数据库Internet Explorer 114864 k4864 k不限制500MB/无限(询问用户)250MB(每位用户最多可配置1GB)Google Chrome 445101 k5101 k不限制无限*1300 Mb(至少)Microsoft Edge 1.04864 k4864 k不限制500MB/无限(询问用户)250 MB(用户可配置最多1GB)Firefox 405120 k5120 k5120 k不限 250MB ‘3 无限制(用户权限) blobs >50Mb) 单位是本地使用的字符数(字节),Test sessionStorage:http://dev-test.nemikor.com/web-storage/support-test/

浏览器兼容性
#

功能ChromeFirefox (Gecko)Internet Explorer OperaSafari (WebKit)localStorage43.5810.504sessionStorage52810.504Application cache4.03.510.010.64.0IndexedDb2310IE10157.1FileApi313110257.1

这次我们重点关注桌面浏览器,但上述网站可以获取移动浏览器的信息

示例
#

这里我们可以看到这些技术的一些示例

了解更多
#

无标准/无预告(不推荐)
#

globalStorage
#

这是一个全局对象,维护多个私有存储区域,可用于长时间存储数据。

webSQL
#

它与 IndexedDB 类似,但于 2010 年 11 月 18 日被弃用http://www.w3.org/TR/webdatabase/

用户数据行为
#

它允许非常有限的存储空间,仅兼容IE,并且已弃用IE10

下次见!

相关文章