作者:川妹-闲人_453 | 来源:互联网 | 2023-09-11 20:35
特性cookielocalStoragesessionStorageindexDB数据生命周期一般由服务器生成,可以设置过期时间除非被清理,否则一直存在页面关闭就清理除非被清理,否
特性 | COOKIE | localStorage | sessionStorage | indexDB |
---|
数据生命周期 |
一般由服务器生成,可以设置过期时间 |
除非被清理,否则一直存在 |
页面关闭就清理 |
除非被清理,否则一直存在 |
数据存储大小 |
4K |
5M |
5M |
无限 |
与服务端通信 |
每次都会携带在 header 中,对于请求性能影响 |
不参与 |
不参与 |
不参与 |
如果没有大量数据存储需求的话,可以使用 localStorage
和 sessionStorage
。对于不怎么改变的数据尽量使 用 localStorage
存储,否则可以用 sessionStorage
存储。
对于 COOKIE
来说,我们还需要注意安全性。
属性 | 作用 |
---|
value |
如果用于保存用户登录态,应该将该值加密,不能使用明文的用户标识 |
http-only |
不能通过 JS 访问 COOKIE,减少 XSS 攻击 |
secure |
只能在协议为 HTTPS 的请求中携带 |
same-site |
规定浏览器不能在跨域请求中携带 COOKIE,减少 CSRF 攻击 |