cookie和localSrorage、session、indexDB 的区别
问题
cookie和localSrorage、session、indexDB 的区别
答案
特性 | cookie | localStorage | sessionStorage | indexDB |
---|---|---|---|---|
数据⽣命周期 | ⼀般由服务器⽣成,可以设置过期时间 | ·除⾮被清理,否则⼀直存在 | ⻚⾯关闭就清理 | 除⾮被清理,否则⼀直存在 |
数据存储⼤⼩ | 4K | 5M | 5M | ⽆限 |
与服务端通信 | 每次都会携带在header 中,对于请求性能影响 | 不参与 | 不参与 | 不参与 |
从上表可以看到, cookie 已经不建议⽤于存储。如果没有⼤量数据存储需求的话,可以使⽤ localStorage 和 sessionStorage 。对于不怎么改变的数据尽量使⽤ localStorage 存储,否则可以⽤ sessionStorage 存储。
对于 cookie ,我们还需要注意安全性
属性 | 作⽤ |
---|---|
value | 如果⽤于保存⽤户登录态,应该将该值加密,不能使⽤明⽂的⽤户标识 |
http-only | 不能通过 JS 访问 Cookie ,减少 XSS 攻击 |
secure | 只能在协议为 HTTPS 的请求中携带 |
same-site | 规定浏览器不能在跨域请求中携带 Cookie ,减少 CSRF 攻击 |
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!