三者区别见下表:
说明:
cookie的处理过程为:
- 服务器向客户端发送cookie
- 浏览器将cookie保存
- 之后每次http请求浏览器都会将cookie发送给服务器端
- 对于
cookie
,我们还需要注意安全性:
属性 | 作用 |
---|---|
value | 如果用于保存用户登录态,应该将该值加密,不能使用明文的用户标识 |
http-only | 不能通过 JS 访问 Cookie,减少 XSS 攻击 |
secure | 只能在协议为 HTTPS 的请求中携带 |
same-site | 规定浏览器不能在跨域请求中携带 Cookie,减少 CSRF 攻击 |
sessionStorage注意问题:
(1)页面刷新sessionStorage依然存在
(2)同一个浏览器新开的标签页sessionStorage依然存在
localStorage注意问题:
(1)不同的浏览器localStorage读取不到
(2)同一个浏览器的不同版本localStorage读取不到
2019.3.26更新:
使用localstorage时,注意:
(1)使用前判断浏览器是不是支持
(2)写数据时注意异常处理,避免超出容量
(3)敏感信息不写入localstorage
(4)子域名不能共享数据
(5)使用场景是:弱网环境