【WEB】前端存储

218 阅读2分钟
特性cookielocalStoragesessionStorageIndexDB
数据存储大小4kb5M5M无限
与服务端通信每次都会携带在header不参与不参与不参与
数据生命周期默认tab页关闭后就失效了,可以通过expire设置。除非被清理,否则一直存在页面关闭就清理除非被清理,否则一直存在
作用域domainpath确定同源同源同源
存储的地方硬盘中硬盘中内存中硬盘中
应用场景每次信息处理都需要和server端交互的情景。需要做持久化,少量数据处理不用每次都和后端交互的情况。不需要做持久化,少量数据处理不用每次都和后端交互的情况。需要做持久化,大量数据处理不用每次都和后端交互的情况。
缺点存储量少,操作麻烦,增加传输负担。存储量较少,性能随着容量减小显著下降, 不同项目都存在一起,维护困难,只能保存字符串。存储量较少,性能随着容量减小显著下降,不同项目都存在一起,维护困难,只能保存字符串。性能随着数据变多会显著下降

如果没有大量数据存储需求的话,可以使用localStoragesessionStorage。对于不怎么改变的数据使用localStorage否则sessionStorage

cookie注意事项

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