储存

有几种方式可以实现存储功能

  1. cookie

  2. localStorage

  3. sessionStorage

  4. indexDB

特性 cookie localStorage sessionStorage indexDB
数据声明周期 一般由服务器生成可以设置过期时间 除非手动清除,否则一直存在 页面关闭就清理 除非手动清除,否则一直存在
数据存储大小 4K 5M 5M 无限
与服务端通信 每次都会携带再header中,对请求性能影响 不参与 不参与 不参与
用处 一般用于储存sessionID和token 储存不易变动的数据,减轻服务器的压力 用来检测用户是否是刷新进入页面,如音乐播放器恢复播放进度条的功能

cookie安全性

属性 安全
value 用于保存用户登录状态,应该将该值加密,不使用文明用户标识
http-only 不能通过JS访问cookie,减少XSS攻击
secure 只能在协议为HTTPS的请求中携带
same-site 规定浏览器不能在跨域请求中修改cookie,减少CSRF攻击