• cookie 是网站为了标示用户身份而储存在用户本地终端上的数据,始终在同源的 http 请求中携带(即使不需要),记会在浏览器和服务器间来回传递
    • sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存
      | 特性 | sessionStorage | localStorage | cookie | indexDB | | —- | —- | —- | —- | —- | | 数据生命周期 | 页面关闭就清理 | 除非被清理,否则一直存在 | 一般由服务器生成,可以设置过期时间 | 除非被清理,否则一直存在 | | 数据存储大小 | 5M | 5M | 4K | 无限 | | 与服务端通信 | 不参与 | 不参与 | 每次都会携带在 header 中,对于请求性能影响 | 不参与 |

    从上表可以看到,cookie 已经不建议用于存储。如果没有大量数据存储需求的话,可以使用 localStoragesessionStorage 。对于不怎么改变的数据尽量使用 localStorage 存储,否则可以用 sessionStorage 存储。
    cookie的安全性问题

    • http-only , 作用是: 不能通过 JS 访问 Cookie,减少 XSS 攻击
    • same-site , 作用是: 规定浏览器不能在跨域请求中携带 Cookie,减少 CSRF 攻击