在客户端(浏览器端)存储数据有诸多益处,最主要的一点是能快速访问(网页)数据。(以往)在客户端有五种数据存储方法,而目前就只有四种经常使用方法了(其中一种被废弃了):chrome
我在查阅资料的时候还发现其余4种数据库
下面总结一下这些存储技术的优缺点浏览器
一、Cookies安全
cookie会随着每次HTTP请求头信息一块儿发送,无形中增长了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不一样而不一样,IE6大约只能存储2K。cookie
优势网络
缺点session
二、Flash ShareObjectspa
这种方式能能解决上面提到的cookie存储的两个弊端,并且可以跨浏览器,应该说是目前最好的本地存储方案。不过,须要在页面中插入一个Flash,当浏览器没有安装Flash控件时就不能用了。所幸的是,没有安装Flash的用户极少。插件
缺点 :须要安装Flash插件。对象
三、Google Gear
Google开发出的一种本地存储技术。
缺点:须要安装Gear组件。
四、userData
IE浏览器可使用userData来存储数据,容量可达到640K,这种方案是很可靠的,不须要安装额外的插件。
缺点:它仅在IE下有效。
五、localStorage
localStorage是Web Storage互联网存储规范中的一部分,如今在Firefox 3.五、Safari 4和IE8中获得支持。
缺点:低版本浏览器不支持。
六、sessionStorage
使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效,同一个Tab页面刷新或者跳转,都能获取到本地存储的数据,当新开窗口或者页面时,原来的数据就失效了。
缺点:IE不支持、不能实现数据的持久保存。
七、globalStorage
使用于Firefox2+的火狐浏览器,相似于IE的userData。
缺点:仅在Firefox2+有效。
八、IndexedDB
IndexedDB 是一种更复杂和全面地客户端数据存储方案,它是基于 JavaScript、面向对象的和数据库的,能很是容易地存储数据和检索已经创建关键字索引的数据。
IndexedDB 的优势
IndexedDB 的缺点
总结:Flash shareobject是不错的选择,若是你不想在页面上嵌入Flash,能够结合使用
userData(IE6+)和globalStorage(Firefox2+)和localStorage(chrome3+)实现跨浏览器。