链接: https://pan.baidu.com/s/13bG4r_gDIWovW1DGYgZ79g
提取码: m0wa
浏览器的本地存储主要分为Cookie和WebStorage和IndexDB,而WebStorage又可以分为LocalStorage和sessionStorage
Cookie
Cookie最开始的时候不是用来做本地存储的,而是为弥补HTTP在状态管理上的不足
HTTP协议是一个无状态协议,客户端向服务端发送请求,服务器返回响应,但是如何让服务端记住下次发送请求时客户端是谁?那么久产生了Cookie
Cookie本质上是浏览器内部存储的一个很小的文本文件,内部是以键值对的方式在存储.在同一个域名发送请求时,都会携带相同的cookie,服务器进行解析,就可以拿到客户端的状态了
那么Cookie的作用就是用来做浏览器的状态存储的,所以有一些缺陷
- 容量缺陷:Cookie的体积上限只有4KB,只能用来存储少量的信息
- 性能缺陷:Cookie紧跟域名,所以不管地址需要不需要都会携带Cookie,这样随着请求量增多时,就会造成巨大的性能浪费,因为有很多不必要的内容
- 安全缺陷:由于Cookie是以纯文本的形式在浏览器和服务器之间传递,很容易被截取,然后在Cookie的有效期内重新发送个服务器,另外,在
HttpOnly
为 false 的情况下,Cookie 信息能直接通过 JS 脚本来读取。可以用cookie 字段带上HttpOnly
,那么说明只能通过 HTTP 协议传输,不能通过 JS 访问,这也是预防 XSS 攻击的重要手段。
localStorage
相同点:针对一个域名,就是在同一个域名下,会存储相同一段的localstorage
区别
- 容量:localstorage的容