广泛部署的技术
对于简单的数据存储,Web存储规范提供了两个基本机制,localStorage
和 sessionStorage
,前者可以无限期地保存数据,后者基于浏览器会话。
在基于文件的访问之上,索引数据库 API(IndexedDB)定义了一个与 JavaScript 集成的值和分层对象的数据库,并且可以非常有效地进行查询和更新 - 第三版规范正在开发中。
对于需要加密的数据,Web密码学工作组提出的Web密码学API为Web应用程序提供了强有力的加密原语,并且可以通过Web秘钥发现API绑定到预先提供的密钥。
HTML5 的 download
属性提供了一个简单的机制来触发文件下载(而不是页面导航),并可以设置用户友好的文件名。
开发中的技术
尽管移动设备通常没有明显的文件系统,但通常至少存在某种文件系统的概念。文件API提供了一个用于表示Web应用中的文件对象的API,还可用以可编程方式选择文件并访问文件中的数据。该API目前是只读的,关于读写API的讨论现已恢复,请参阅下面的可写文件标准。
探索性工作
随着越来越多的数据需要被浏览器存储(例如用于离线使用),对于开发者来说获得可靠的存储空间变得至关重要。存储规范将允许 Web 应用程序获取配额估计的存储空间,并要求将其存储的数据视为持久性数据。在未经用户明确同意的情况下,这些数据不能被抢占。
Writable Files规范是一个早期的API提议,建立在文件API之上,允许网站获得对文件系统的写访问权。
特性 | 规范 / 小组 | 实现意向选择浏览器… |
---|---|---|
存储配额 | 存储 (Storage) Web 超文本应用技术工作小组 (WHATWG) | |
文件操作 | Writable Files Web 平台孵化社区组 (Web Platform Incubator Community Group) |
不再进行的工作
- 配额管理 API
- 研发配额管理 API 的初衷是 Web 平台工作组希望提供一个管理本地存储资源使用和可用性的API,由于新的存储提议的出现现在已不再继续研发。
- 客户端基于 SQL 的数据库
- 为了支持在 IndexedDB 上的工作,从2009年开始的客户端基于 SQL 的数据库的工作已经不再进行。
- 地址簿数据
- 通信应用可以从与用户现有的数据记录集成中受益;在移动设备上,地址簿是一个特别有用的信息来源。对于浏览器之外的 Web 应用,纯程序化方法是系统应用工作组的一部分;由于这个小组现在已经关闭,因此目前暂时不会有联系人管理器 API 相关的工作。在浏览器中,HTML 5.1 为联系人信息提供了自动填充字段,可以让浏览器重新使用通讯录中的数据。