【对比分析一】常用的浏览器本地存储方案介绍和对比

1)  Cookie: 广泛应用,局限明显。

  支持数据存储量相对较少,每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉;同时,存在安全性问题,如果被拦截,就可以取得所有的session信息。

2)  Flash SharedObject:使用的是kissy的store模块来调用Flash SharedObject。

  优点:

    容量适中,基本上不存在兼容性问题

  缺点:

    要在页面中引入特定的Flash和JS,增加额外负担,处理繁琐;还是有部分机子没有flash运行环境。

3)  Google Gears: Google的离线方案,已经停止更新,官方推荐使用HTML5的localStorage方案。

4)  User Data: 是微软为IE专门在系统中开辟的一块存储空间,只支持Windows+IE的组合。

  单个文件的大小限制是128KB,一个域名下总共可以保存1024KB的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB和640KB。

  (所以如果考虑到各种情况的话,单个文件最好能控制64KB以下。)

  (实际测试2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可正常使用。)

5)  Web Storage

  在较高版本的浏览器中,JS提供了sessionStorage和globalStorage。

  在HTML5中提供了sessionStorage和localStorage。

  sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问,会话结束后数据随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

  globalStorage跨越会话存储数据。有特定访问限制,要指定哪些域可访问该数据。

  localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。不能给localStorage指定任何规则,要访问同一个localStorage,页面必须使用同一个域名,使用同一种协议,在同一个端口上。

  优点:

    容量大、易用、强大、原生支持

  缺点:

    a) 兼容性差(Chrome,  Safari, Firefox,Opera,IE8+支持 ,IE8以下版本不支持)

    b) 安全性差(所以请勿使用localStorage保存敏感信息)

posted @ 2016-08-22 14:28  SHERO_Vae  阅读(380)  评论(0编辑  收藏  举报