cookie和localStorage和sessionStorage的区别

发布时间 2023-08-05 16:39:40作者: 方朝端

cookie和localStorage和sessionStorage的区别

  • 下面从几个方向区分一下 cookielocalStoragesessionStorage 的区别
  1. 生命周期:
    • cookie可设置失效时间,否则默认为关闭浏览器后失效。
    • localStorage:除非被手动清除,否则永久保存
    • sessionStorage:仅在当前网页会话下有效,关闭页面关闭浏览器后就会被清除。
  2. 可存放数据大小:
    • cookie4k大小的信息
    • localStorage:可以保存5M大小的信息
    • sessionStorage:可以保存5M大小的信息
  3. http请求
    • cookie:每次都会携带在http请求头中,如果使用 cookie 保存过多数据会带来性能问题。
    • localStorage:仅在客户端即浏览器中保存,不参与和服务器的通信。
    • sessionStorage:仅在客户端即浏览器中保存,不参与和服务器的通信。
  4. 接口易用性:
    • cookie:需要程序员自己封装,原生的cookie接口不友好。
    • localStorage:仅在客户端即浏览器中保存,不参与和服务器的通信。
    • sessionStorage:仅在客户端即浏览器中保存,不参与和服务器的通信。
  5. 应用场景:
    • 从安全性来说,因为每次http请求都回携带cookie信息,这样既浪费了带宽,也容易导致cookie信息泄露,所以cookie应该尽可能的少用。
    • 此外cookie还需要指定作用域,不可以跨域调用,限制很多。
      • 但是用户识别用户登陆来说,cookie 还是比较适合。
    • localStorage 可以用来在页面传递参数。
    • sessionStorage 可以用来保存一些临时的数据,防止用户刷新页面后丢失了一些参数。