localStorage sessionStorage和cookie对比

主要特点

都是由于存储数据 以键值对形式存储

  • cookie : 适合保存较小的数据 如登录信息 用户信息之类的

  • localStrorage: 适合持久化数据

  • sessionStroeage: 适合一次性临时数据

存储容量

  • cookie : 译名小甜饼,容量小,4KB

  • localStrorage: 4.98M 不同浏览器不同 (safari 2.49M) HTML5引入

  • sessionStroeage: 4.98M 部分浏览器没有限制 HTML5引入

生命周期

  • cookie:

    • 默认保存内存中 一般是服务端产生 浏览器关闭时失效
    • 设置过期时间时,过期后就会失效
  • localStrorage: 理论上永久有效,设置了就不会失效,除非主动清除

  • sessionStroeage: 仅在当前网页会话,关闭页面或浏览器后会被清除

存储位置及通信

  • cookie :

    • 一般由服务器产生,携带在HTTP响应头中 存储数据过多会影响性能
    • 保存在客户端 每次请求都会带上
  • localStrorage: 保存在客户端 ,不与服务端交互,节省网络流量

  • sessionStroeage: 保存在客户端 ,不与服务端交互,节省网络流量

使用

  • localStorage 与 sessionStorage
localStorage.setItem("name", "value");
localStorage.getItem("name"); // => 'value'
localStorage.removeItem("name");
localStorage.clear(); // 删除所有数据

sessionStorage.setItem("name", "value");
sessionStorage.setItem("name");
sessionStorage.setItem("name");
sessionStorage.clear();
  • cookie简单用法

    • 添加

      Cookie c = new Cookie("username","peter");// 新建一个Cookie对象
      c.setMaxAge(24*60*60);                    // 设置过期时间1天,以秒为单位
      response.addCookie(c);                    // 保存cookie到客户端
      
    • 删除 覆盖

      Cookie cookie = new Cookie("username","peter");// 新建Cookie
      cookie.setMaxAge(0);                           // 设置生命周期为0,表示将要删除
      response.addCookie(cookie);                    // 执行添加后就从response里删除了
      
    • 修改

      Cookie cookie = new Cookie("username","joker");// 新建Cookie
      cookie.setMaxAge(24*60*60);                    // 设置生命周期
      response.addCookie(cookie);                    // 执行添加后就从response里覆盖修改了
      

      img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值