六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 147|回复: 0

浏览器本地存储方式

[复制链接]

升级  28.33%

79

主题

79

主题

79

主题

举人

Rank: 3Rank: 3

积分
285
 楼主| 发表于 2013-1-24 06:45:14 | 显示全部楼层 |阅读模式
浏览器存储方式主要方法:

* Cookie
  4096字节;缺点:存储量小,请求头附带cookie带来性能问题。
* Flash Share Object
  默认支持100k,跨浏览器存储最好的方式,毕竟现在没有安装flash插件的用户是很少的;
  缺点:需要加载一个swf文件,个别用户不支持flash。
* IE的 UserData
  最少也能支持640k,IE8后已经支持DOM Storage;缺点:IE only。
* DOM Storage
  默认支持5M存储量;缺点:IE7,IE6不支持。
* Google Gears
  功能最强;缺点:但需要安装软件,而且,安装的用户是较少的。



DOM Storage

支持:Firefox, Chrome, Opera, Safari, IE8+
DOM Storage 分为两种sessionStorage 和 localStorage。
1:sessionStorage 是指在当前窗口会话中持续保存的数据,但关闭窗口后就没了;
2:localStorage是在本地永久存储的。

方法:    * key(index)   根据索引获取值    * getItem(key) 获取 key 的值    * setItem(key, data) 设置 key 的值    * removeItem(key) 删除 key    * clear()         清除所有的key属性:    * length 当前存储的个数

IE UserData

支持:IE5+
通过给 xml 或者 html 标签添加 behavior 来支持 userData
例如:
<input style="behavior:url('#default#userData')" id="userData">
或者
object.style.behavior = "url('#default#userData')"
object.addBehavior ("#default#userData")
方法:    * getAttribute() 获取指定的属性值。    * load(object)   从 userData 存储区载入存储的对象数据。    * removeAttribute() 移除对象的指定属性。    * save(object)   将对象数据存储到一个 userData 存储区。    * setAttribute() 设置指定的属性值。属性:    * expires 设置或者获取 userData behavior 保存数据的失效日期,不设置则为永久。    * XMLDocument 获取 XML 的引用。

结论:

不宜在客户端存储敏感的信息,使用window.name、localStorage、globalStorage等在客户端存储的信息都非常的容易暴露,
建议在完成数据存储或者设定一个过期时间清除掉来保证用户帐号等的安全。


参考:

http://dev.w3.org/html5/webstorage/
http://msdn.microsoft.com/en-us/library/ms531424.aspx
http://foxling.org/js-ajax-dom/broswer-local-storage/#more-519
http://www.ilovejs.net/archives/category/javascript/page/2
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表