cookie、localStorage、sessionStorage区别(学者说)

cookie、localStorage、sessionStorage区别

cookie

Cookie设计初衷是用来和服务器通讯,而不是本地存储,他只是被‘借用’到本地存储
在这里插入图片描述
如下图,每次http请求,header都携带cookie;
在这里插入图片描述

localStorage、sessionStorage

在HTML5中,新加入了一个localStorage/sessionStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小。

localStorage、sessionStorage与cookie相比:
在这里插入图片描述
localStorage、sessionStorage不同点:
在这里插入图片描述

localStorage、sessionStorage API有哪些

localStorage只支持string类型的存储。

var storage=window.localStorage;
   //写入a字段
   storage["a"]=1;
   //写入b字段
   storage.a=1;
   //写入c字段
   storage.setItem("c",3);
   //获取a 
   storage.getItem('a');
   storege.a;
   storage["a"]
   console.log(typeof storage["a"]);// string
   storage.clear();//删除所有
   storage.removeItem("a");//删除某个
   //使用key()方法,向其中出入索引即可获取对应的键
   for(var i=0;i<storage.length;i++){
    
    
       var key=storage.key(i);
       console.log(key);
   }
  //将JSON存入localStorage中,使用JSON.stringify()这个方法,来将JSON转换成为JSON字符串
  var data={
    
    
      name:'xiecanyong',
      sex:'man',
      hobby:'program'
  };
  var d=JSON.stringify(data)
  storage.setItem("data",d);
  //将JSON字符串转换成为JSON对象输出
  var json=storage.getItem("data");
  var jsonObj=JSON.parse(json);

sessionStorage操作同上

猜你喜欢

转载自blog.csdn.net/SSansui/article/details/114252781