原先客户端的本地数据存储主要是使用Cookie来实现的。Cookie存储有以下几个不足:
- 大小的限制。Cookie文件大小被限制在4KB,在客户端应用越来越丰富的今天,显然是不够的。
- Cookie会随HTTP请求一块发送,一定程度上会增加带宽的负担,尤其在HTTP请求数量比较多的时候。
Web Storage, HTML 5中新增的本地数据存储功能。包括sessionStorage和localStorage两种。两者的API很像,不同之处在于,sessionStorage为临时存储,关闭当前会话就消失了,localStorage为永久存储在客户端本地的硬件设备中,除非主动删除。以下为示例代码。
//存储数据
function Save(name, id)
{
var value = document.getElementById(id).value;
localStorage.setItem(name,value);
}
//获取数据
function Get(name, id)
{
var value = localStorage.getItem(name);
document.getElementById(id).value = value;
}
虽然localStorage仅仅支持保存字符串。但是借助JSON的支持,可以非常容易的利用localStorage保存结构化对象数据。localStorage本地存储大小,据网络资料显示,Firefox没有作限制,而其他浏览器为5M,相对于Cookie的4KB,显然有质的不同。
就安全性而言,因为他的数据也是存储在客户端的硬件上的,所以也并不适合存储敏感数据。