HTML5技术

彻底搞懂Html5本地存储技术(一) - 碧霄中游

字号+ 作者:H5之家 来源:H5之家 2016-12-07 14:00 我要评论( )

一、H5之前客户端本地存储的实现 1、 cookies cookies的应用比较广泛,但有以下几个问题: (1)每次http请求头上会带着,浪费资源 (2)每个域名客户端只能存储4K大小 (3)会造成主Domain污染 (4)cookies明文传输很不安全 2、UserData(只有IE支持) 3、

一、H5之前客户端本地存储的实现

1、 cookies

cookies的应用比较广泛,但有以下几个问题:

(1)每次http请求头上会带着,浪费资源

(2)每个域名客户端只能存储4K大小 

(3)会造成主Domain污染

(4)cookies明文传输很不安全

2、UserData(只有IE支持)

3、其他非主流方案

二、H5相关的存储知识

1、本地存储WebStorage (localstorage & sessionstorage)

浏览器支持情况

(1)生命周期

  •  localstorage永久存储除非显示移除或清空,sessionstorage在页面会话期有效关闭页面会被清除(刷新页面不会清除);
  • (2)API(ls和ss相同)

    (3)存储类型及大小

  • webStorage之存储字符串(只要能被序列化为字符串都可以)
  • 每个域名下5M
  • (4)storage事件

    webStorage发生改变时触发storage事件

    (5)使用注意事项

    function set(key,vel){ var curTime = new Date().getTime(); localStorage.setItem( key , JSON.stringify({data:vel , time:curTime }) ); } function get(key,exp){ var data = locaStorage.getItem(key); var dataObj = JSON.parse(data); if(new Date().getTime()-dataObj.time<exp){ return dataObj.data; }else{ alert('已过期!'); } } 

  • 子域名之间是不能共享数据的-使用跨域方法传输数据
  • 特别注意:

    webstorage虽好但是并不是用来完全替代cookies,它应该用在原本不应该用cookies但是不得已用了cookies的情况下。

    有WebStorage后cookie应只做它应该做的事情——作为客户端与服务器交互的通道,保持客户端状态。

     

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • JavaScript_Html5_LocalStorage项目demo - 明lucky

      JavaScript_Html5_LocalStorage项目demo - 明lucky

      2016-12-07 12:00

    • HTML5 学习笔记(四)——canvas绘图、WebGL、SVG - SeeYouBug

      HTML5 学习笔记(四)——canvas绘图、WebGL、SVG - SeeYouBug

      2016-12-05 11:00

    • HTML5 学习笔记(五)——WebSocket与消息推送 - SeeYouBug

      HTML5 学习笔记(五)——WebSocket与消息推送 - SeeYouBug

      2016-12-05 10:00

    • HTML5 学习笔记(一)——HTML5概要与新增标签 - SeeYouBug

      HTML5 学习笔记(一)——HTML5概要与新增标签 - SeeYouBug

      2016-12-04 14:00

    网友点评
    l