常见的浏览器端的存储技术

在客户端(浏览器端)存储数据有诸多益处,最主要的一点是能快速访问(网页)数据。(以往)在客户端有五种数据存储方法,而目前就只有四种经常使用方法了(其中一种被废弃了):chrome

  • Cookies
  • Local Storage
  • Session Storage
  • IndexedDB
  • WebSQL (被废弃)

我在查阅资料的时候还发现其余4种数据库

  • userData
  • GlobalStorage
  • Flash ShareObject
  • GoogleGear

下面总结一下这些存储技术的优缺点浏览器

一、Cookies安全

cookie会随着每次HTTP请求头信息一块儿发送,无形中增长了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不一样而不一样,IE6大约只能存储2K。cookie

优势网络

  • 能用于和服务端通讯
  • 当 cookie 快要自动过时时,咱们能够从新设置而不是删除

缺点session

  • 增长了文档传输的负载
  • 只能存储少许的数据
  • 只能存储字符串
  • 潜在的 安全问题
  • 自从有 Web Storage API (Local and Session Storage),cookies 就再也不被推荐用于存储数据了

二、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 的优势

  • 可以处理更复杂和结构化的数据
  • 每一个’database’中能够有多个’databases’和’tables’
  • 更大的存储空间
  • 对其有更多的交互控制

IndexedDB 的缺点

  • 比 Web Storage API 更难于应用

总结:Flash shareobject是不错的选择,若是你不想在页面上嵌入Flash,能够结合使用

userData(IE6+)和globalStorage(Firefox2+)和localStorage(chrome3+)实现跨浏览器。

相关文章
相关标签/搜索