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


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

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

    我在查阅资料的时候还发现其他4种

    • userData
    • GlobalStorage
    • Flash ShareObject
    • GoogleGear

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

    1、Cookies

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

    优点

    • 能用于和服务端通信
    • 当 cookie 快要自动过期时,我们可以重新设置而不是删除

    缺点

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

    2、Flash ShareObject

         这种方式能能解决上面提到的cookie存储的两个弊端,而且能够跨浏览器,应该说是目前最好的本地存储方案。不过,需要在页面中插入一个Flash,当浏览器没有安装Flash控件时就不能用了。所幸的是,没有安装Flash的用户极少。

    缺点 :需要安装Flash插件。

    3、Google Gear

    Google开发出的一种本地存储技术。

    缺点:需要安装Gear组件。

    4、userData

    IE浏览器可以使用userData来存储数据,容量可达到640K,这种方案是很可靠的,不需要安装额外的插件。

    缺点:它仅在IE下有效。

    5、localStorage

    localStorage是Web Storage互联网存储规范中的一部分,现在在Firefox 3.5、Safari 4和IE8中得到支持。

    缺点:低版本浏览器不支持。

    6、sessionStorage

    使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效,同一个Tab页面刷新或者跳转,都能获取到本地存储的数据,当新开窗口或者页面时,原来的数据就失效了。

    缺点:IE不支持、不能实现数据的持久保存

    7、globalStorage

    使用于Firefox2+的火狐浏览器,类似于IE的userData。

    缺点:仅在Firefox2+有效。

    8、IndexedDB

    IndexedDB 是一种更复杂和全面地客户端数据存储方案,它是基于 JavaScript、面向对象的和数据库的,能非常容易地存储数据和检索已经建立关键字索引的数据。

    IndexedDB 的优点

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

    IndexedDB 的缺点

    • 比 Web Storage API 更难于应用

    总结:Flash shareobject是不错的选择,如果你不想在页面上嵌入Flash,可以结合使用

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

  • 相关阅读:
    Codeforces441B_Valera and Fruits(暴力)
    《Python核心编程》第五章:数字
    app-framework学习--Scroller
    饿了么移动APP的架构演进
    移动支付--银联,支付宝,微信(android)
    android推送,极光推送
    Flume 1.7 源代码分析(四)从Source写数据到Channel
    <html>
    软件系统演示脚本实践(草稿)
    mmu介绍
  • 原文地址:https://www.cnblogs.com/jiayuexuan/p/7250373.html
Copyright © 2020-2023  润新知