乐趣区

关于javascript:本地存储三兄弟的异同localStoragesessionStoragecookie

许可我,十二月不准没精打采哦,显矮

共同点

localStorage 和 sessionStorage 和 cookie 共同点


  • 同域(同源策略)限度:同源策略:申请与响应的 协定、域名、端口都雷同 则时同源,否则为 跨源 / 跨域
  • 存储的内容都会转为字符串格局
  • 都有存储大小限度

localStorage 和 sessionStorage 共同点


  • API 雷同
  • 存储大小限度一样根本相似
  • 无个数限度

不同点

localStorage


  • 没有有效期,除非删除,否则始终存在
  • 同域下页面共享
  • 反对 storage 事件(在某些简单状况下,如果多个页面都须要拜访本地存储的数据,就须要在存储区域的内容产生扭转时,可能告诉相干的页面 );
// torage 事件
setTimeout(function(){window.localStorage.setItem('a', 2)
 },1000)
window.addEventListener("storage", function(e) {console.log(e)
});

sessionStorage


  • 浏览器敞开,主动销毁
  • 页面公有
  • 不反对 storage 事件

cookie


  • 浏览器也会在每次申请的时候被动组织所有域下的 cookie 到申请头 cookie 中,发送给服务器端
  • 浏览器会被动存储接管到的 set-cookie 头信息的值
  • 能够设置 http-only 属性为 true 来禁止客户端代码(js)批改该值
  • 能够设置有效期 (默认浏览器敞开主动销毁)(不同浏览器有所不同)
  • 同域下个数有限度,最好不要超过 50 个 (不同浏览器有所不同)
  • 单个 cookie 内容大小有限度,最好不要超过 4000 字节 (不同浏览器有所不同)
退出移动版