• web存储分类

    • 客户端和服务端 
  • 认识web存储
    • 随着web应用的发展,是的客户端存储的用途越来越多,然而实现客户端端存储的方式也是越来越多样化。最简单最兼容的方式就是cookie,但作为真正的客户端存储cookie还是存在着许许多多的弊端的。同时,各种浏览器也有属于自己的存储方式。例如,IE6以及以上版本中可以使用userData Behavior,在Firefox中可以使用globalStorage,而在Flash插件还可以使用Flash Local Storage,但是这几种方式存在着兼容性等方面的弊端,对于客户端的存储不属于最好的方式。
    • 由于上述情况,html5中增加的了几种新的存储方式。web Database和web Storage。  
  • 各种方式存储之间的区别
    • cookie的优缺点

      • cookie工作原理

        • cookie作为一种客户端存储的方式,主要采用的是文本存储。当有应用程序使用cookie的时候,服务器会将cookie发送到客户端,客户端进行保存。当用户进行下次访问时,会将客户端存储的cookie发送到服务器上面。在开发中,最典型的案例就是用来存储用户信息。  
      • 优点
        • 简单方便
        • 浏览器负责发送数据
        • 浏览器自己管理不同站点的数据,不容易发生数据的错乱等情况  
      • 缺点 
        • 正如上面讲到的cookie工作原理,我们通过服务端到客户端,客户端到服务器之间的通信。这样造成有的不必要的带宽消耗,同时也影响页面的加载速度导致用户的体验性变差。
        • 存储的数据大小限制,cookie只能存储4kb大小的数据。
        • 安全性。cookie的数据以文本的方式存在客户端上面,安全性很低,很容易造成数据被窃取。
        • 数量限制。多数浏览器可存储的cookie数量为30-50个,也有的浏览器支持300个,而IE6只支持20个。
        • 数据完整性。当我们客户端设置为最高安全级别的时候,我们的cookie会失效。     
    • web storage的优缺点
      • 认识webstorage

        • 这是html5新增的客户端存储数据的方式,提供了易于操作的api,只需要设置键值的方式即可。在每个用户域下面存储的数据大小在5M-10M。包含下面的sessionStorage和localStorage。同时,还包括web Database。 
      • 优点
        • 存储的数据大小更大。
        • 存储的数据保存在客户端,不需要与浏览器进行通信,这样可以减少我们的带宽消耗。
        • 提供了丰富易用的API,使得开发者更加容易的开发。
        • 使用独立的存储空间。每个域下面都有独立的存储空间,每个空间完全独立,可以避免数据的错乱(这一点其实和cookie没什么太大的区别)。    
      • 缺点
        • 由于每个域下面存储的数据都是独立的空间,我们在一个域下面是不能使用其他域下面的数据。 
        • 由于数据在没有我们进行主动的删除的情况下,存储的数据是一直保存在的并且数据没进行加密处理,很容易造成数据的窃取。 
      • localStorage
        • localStorage是一种没有时间限制的存储方式,除非我们自己主动的清除数据不然数据是不会丢失的。  
      • sessionStorage 
        • sessionStorage是针对session的存储方式,当我们浏览器或者操作窗口执行了关闭操作,sessionStorage存储的数据将会丢失。同时只能在同一个会话的页面中才能使用。
      • 浏览器支持    
        • IE8.0以上,Firefox3.0以上,opera10.5以上,chrome3.0以上,safari4.0以上。
            
  • 实例代码
    • 检测当前浏览器是否支持
    •     <script type="text/javascript">
      // 验证当前的浏览器是否支持localStorage和sessionStorage
      window.onload = function(){
      if (window.localStorage && window.sessionStorage) {
      alert("你的浏览器支持localStorage和sessionStorage");
      }
      }
      </script>

       

    • 基本使用 
      • 注意:localStorage和sessionStorage存储的都是字符串对象。  
      • 创建
        • <script type="text/javascript">
          // 创建均使用localStorage做示例,sessionStorage语法方式和localStorage是一样的,localStorage(key, value);或者localStorage.key = "value";
          window.onload = function(){
          if (window.localStorage) {
          localStorage.setItem("userName", "张三");
          }
          }
          </script>

              

      • 获取存储
          • <script type="text/javascript">
            // 可以直接使用localStorage.getItem(key);也可以使用localStorage.key;
            window.onload = function(){
            if (window.localStorage && window.sessionStorage) {
            localStorage.setItem("userName", "张三");
            alert(localStorage.getItem("userName"));
            }
            }
            </script>

              

      • 删除存储 
          • <script type="text/javascript">
            // localStorage.removeItem(key):根据键名删除指定存储,localStorage.clear():删除指定所有存储,当Storage对象为空时,也是可执行的。
            window.onload = function(){
            if (window.localStorage && window.sessionStorage) {
            localStorage.setItem("userName", "hello,world!");
               localStorage.removeItem("userName");
            localStorage.clear();
            }
            }
            </script>

                

web存储之webstorage的更多相关文章

  1. H5 web 存储之 Webstorage

    H5提供了两种在客户端存储数据的方式:localStorage 持久化的本地存储(浏览器关闭重新打开数据依然存在)sessionStorage 针对一个session的本地存储之前这些都是由cooki ...

  2. 一文梳理Web存储,从cookie,WebStorage到IndexedDB

    前言 HTTP是无状态的协议,网络早期最大的问题之一是如何管理状态.服务器无法知道两个请求是否来自同一个浏览器.cookie应运而生,开始出现在各大网站,然而随着前端应用复杂度的提高,Cookie 也 ...

  3. HTML5本地化应用开发-HTML5 Web存储详解

    文章不是简单的的Ctrl C与V,而是一个字一个标点符号慢慢写出来的.我认为这才是是对读者的负责,本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成. ...

  4. HTML5 Web存储(Web Storage)技术及用法

    在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣 ...

  5. Web存储(Web Storage)介绍

    Web存储即在客户端存储数据. 在没有Web Storage之前,是通过cookie来在客户端存储数据的.但是由于 浏览器能存cookie数比较少.如IE8,Firefox,opera每个域可以保存的 ...

  6. Html5的Web存储和WebSql

    HTML5 Web 存储 使用HTML5可以在本地存储用户的浏览数据. 早些时候,本地存储使用的是cookies.但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用 ...

  7. Web存储机制—sessionStorage,localStorage使用方法

    Web存储机制,在这里主要聊有关于Web Storage API提供的存储机制,通过该机制,浏览器可以安全地存储键值对,比使用cookie更加直观.接下来简单的了解如何使用这方面的技术. 基本概念 W ...

  8. web 存储方式汇总:Cookies,Session, Web SQL; Web Storage(LocalStorage ,SessionStorage),IndexedDB,Application Cache,Cache Storage

    1 1 1 web 存储方式汇总: 旧的方式: Cookies; Session; Web SQL; 新的方式 HTML5 : Web Storage(LocalStorage ,SessionSto ...

  9. html5的web存储

    在html5标准之前,web存储信息需要cookie来完成,但是cookie不适合大量数据存储.因为需要等待服务器响应,所以速度慢/效率低. 本地存储的特点: localstorage是仅存储在用户的 ...

随机推荐

  1. 在C#中使用类golang信道编程(一)

    BusterWood.Channels是一个在C#上实现的信道的开源库.通过使用这个类库,我们可以在C#语言中实现类似golang和goroutine的信道编程方式.在这里我们介绍3个简单的信道的例子 ...

  2. CSS垂直和水平居中

    在css中,居中使用十分频繁. 居中分为水平和垂直居中 水平居中十分简单: body{ background:#f90; } body统一为这个颜色 div { margin:0 auto; back ...

  3. Dora.Interception: 一个为.NET Core度身定制的AOP框架

    多年从事框架设计开发使我有了一种强迫症,那就是见不得一个应用里频繁地出现重复的代码.之前经常Review别人的代码,一看到这样的程序,我就会想如何将这些重复的代码写在一个地方,然后采用“注入”的方式将 ...

  4. 关于dom脚本编程的一些优秀理念总结

    1.平稳退化(优雅降级) 目的:当浏览器不支持js或者js被用户禁用时,做到即使不运行js,网页的可读性亦不会受到太大的影响. 理念:使用最新的技术面向高级浏览器构建最强的功能及用户体验,然后针对低级 ...

  5. 软件开发的一些"心法"

    从事软件开发也有好几年了,和一开始那个懵懵懂懂的小菜鸟相比,自己也感觉到了一些变化. 也许是熟能生巧, 趟过很多坑,但核心的绝不是这些细节的东西. 打个比方,如果说对某种语言的特性和技巧的掌握属于身法 ...

  6. webstorm html碎片整理功能

    我们用字符串形式写html模板时,或者向某标签添加html内容时,如下,如果这个str更加的长,一旦里面少了一个单引号,少了一个加号,基本报错还看不懂,一脸懵逼... // 假定后台传给我们的数据为 ...

  7. jenkins部署

    第一步:官网下载jenkins:http://Jenkins-ci.org/ 第二步:安装jdk:(参考jdk安装)http://www.cnblogs.com/tanghuang/p/5805514 ...

  8. redis连接池的使用方法

    所需jar:jedis-2.8.0.jar和commons-pool-2-2.3jar Jedis操作步骤如下:1->获取Jedis实例需要从JedisPool中获取:2->用完Jedis ...

  9. MyEclipse2016统一字符编码

    MyEclipse一般没做修改,默认的字符编码是GBK,但是在实际的开发中常用的是utf-8,为了避免出现乱码等情况,我们需要把开发工具的编码都统一设置成utf-8,修改步骤如下: 1.打开MyEcl ...

  10. C返回函数指针的函数

    如下函数 char (*retCharWithInt(char, char))(int); 申明了函数指针retCharWithInt,该指针指向一个形参是(char,char),返回值是char(* ...