有时需要将网页中的一些数据保存在浏览器端,这样做的好处是,当下次访问页面时,不需要再次向服务器请求数据,直接就可以从本地读取数据。目前常用的有以下几种方法:
cookie
cookie是网站为了标识用户身份而存储在用户本地终端上的数据(通常经过加密)。cookie数据始终在同源的http请求中携带,即会在浏览器和服务器之间来回传递。无形中增加了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不同而不同,数据大小不能超过4K。
userData
IE浏览器可以使用userData来存储数据,容量可达到640K,这种方案是很可靠的,不需要安装额外的插件。缺点:它仅在IE下有效。
localStorage
localStorage是Web Storage互联网存储规范中的一部分,现在在Firefox 3.5、Safari 4和IE8中得到支持。浏览器关闭后数据不会丢失。
缺点:低版本浏览器不支持。
sessionStorage
使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效,同一个窗口(或者Tab)页面刷新或者跳转,都能获取到本地存储的数据,当用户关闭浏览器窗口后,数据会被删除。
缺点:IE不支持、不能实现数据的持久保存。
globalStorage
使用于Firefox2+的火狐浏览器,类似于IE的userData。
缺点:IE不支持。
Flash ShareObject
这种方式能能解决上面提到的cookie存储的两个弊端,而且能够跨浏览器,应该说是目前最好的本地存储方案。不过,需要在页面中插入一个Flash,当浏览器没有安装Flash控件时就不能用了。所幸的是,没有安装Flash的用户极少。
缺点:需要安装Flash插件。
Google Gear
Google开发出的一种本地存储技术。
缺点:需要安装Gear组件。