HTML5中的本地数据存储

在HTML4及之前的版本中,通常使用Cookie存储机制将数据保存在用户的客户端。但使用Cookie方式存储客户端数据有一系列制约其发展的因素,例如限制保存数据空间大小,数据保密性差,代码操纵复杂等,开发者迫切需要寻找新的数据存储方式改善现状。

HTML5中增加了两种全新的数据存储方式:web storage和web sql database,前者可用于临时或永久保存客户端的少量数据;后者是客户端本地化的一套数据库系统,通过这套数据系统,可以将大量的数据保存在客户端,而且无需与服务端交互,极大地减轻了服务端的压力,加快了其他页面的浏览速度。

web storage 存储空间只有5MB, web sql 数据库,内置了sqlite数据库,对数据库的操作通过executesql()实现,允许使用js代码控制数据库的操作。

web storage页面存储是HTML5为数据存储在客户端提供的一项重要功能,由于web storage api可以区分会话数据与长期数据,因此,相应的api类型可分为两种:

sessionStorage(保存会话数据)

localStorage(在客户端长期保存数据)

正是由于web storage api可以将客户端的数据分类型进行存储,使他在运用上更加优越与传统,单一的cookie方式。

在页面进行数据存储过程中,使用sessionStorage对象保存的数据时间非常短,因为该数据实质上是被保存在session对象中,用户在打开浏览器时,可以查看操作过程中要求保存的临时数据;一旦关闭浏览器,所有使用sessionStorage对象保存的数据将全部丢失。

sessionStorage常用的两个操作。

sessionStorage.setItem(key,value);

sessionStorage.getItem(key);

localStorage数据长期保存在客户端,直至人工清除。

localStorage.setItem(key,value);

localStorage.getItem(key);

localStorage.removeItem(key);

localStorage.clear();