HTML5的应用程序缓存、客户端存储数据?
(1)应用程序缓存:
通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。所有主流浏览器均支持应用程序缓存,除了 Internet Explorer。
(2)客户端存储数据:
HTML5 提供了两种在客户端存储数据的新方法:localStorage 长期存储数据,浏览器关闭后数据不丢失; sessionStorage 数据在浏览器关闭后自动删除。
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据它使在不影响网站性能的情况下存储大量数据成为可能。对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。HTML5 使用 JavaScript 来存储和访问数据。
注:
(1)cookies,sessionStorage 和 localStorage 的区别:
cookie在浏览器和服务器间来回传递。 sessionStorage和localStorage不会。 sessionStorage和localStorage的存储空间更大; sessionStorage和localStorage有更多丰富易用的接口; sessionStorage和localStorage各自独立的存储空间。
(2)客户端存储的一些使用场景:
localStorage 、cookies等本地存储方式实现浏览器内多个标签页之间的通信,不论在哪个浏览器的标签页里访问了 localStorage,所有其它的标签页都能通过 window对象监听到这个事件。不过在某些情况下,譬如无痕模式下的 Safari在设置值时会抛出 QuotaExceededError 的异常。