记录一下localStorage、cookie和sessionStorage在使用过程中各自的区别

cookie

  • 一般由服务端生成,保存在浏览器端的一段字符串,参与服务端通信,会携带在请求头中;
    服务端可以通过request修改,客户端也可以通过window.cookie 来修改
  • 作用域范围遵循同源策略; 注意 domain 参数的设置,顶级域名下二级,三级域名是可以实现cookie共享的
  • 大小一般为 4K左右, 浏览器有个数限制 20
  • 生命周期设置 expires ;根据具体需求时间设置

localStorage

  • 存储在浏览器本地的一段字符串,不参与和服务端的通信
  • 作用域范围同样遵循同源策略,同源站点可以在同一浏览器下进行读写操作
  • 大小5M左右
  • 生命周期一直存在,除非人为清除

sessionStorage

  • 也是存储在浏览器本地的一段字符串,不参与和服务端的通信
  • 作用域范围同样遵循同源策略,同源站点,同一tab标签页可以在同一浏览器下进行读写操作;即:只有同一浏览器、同一窗口的同源页面才能共享数据;如果新开一个 tab 标签是不行的
  • 大小5M左右
  • 生命周期与标签页同在; tab 标签关了,则数据清除

参考: https://segmentfault.com/a/1190000019689848