前言
cookie最初主要用于和服务器进行通讯,在http请求时把cookie顺带一起传给服务器。
但那时还未有像H5 localStorage和sessionStorage这种专门用于本地存储的能力。后来,
大家发现通过document.cookie = ''; 可直接设置cookie的值且无论页面如何刷新cookie也不会被清除掉,
渐渐的,越来越多的人开始使用cookie来做本地存储。
比如在控制台设置cookie后
![f94fcda493168174accaf590e2775e92.png](https://i-blog.csdnimg.cn/blog_migrate/b5e83e6158d05987bfb98c2343290888.png)
我们能够通过谷歌开发者工具的Application选项看到cookies中上面设置的cookie名字和值
![04d144dcf85330730a2ec122de55f760.png](https://i-blog.csdnimg.cn/blog_migrate/f9111b55dd69f49c0b4469952e809286.jpeg)
使用cookie做本地存储的3个缺点
1:存储太小,最大4KB
2:随http请求一起被发送到服务端,增加了请求数据量
3:document.cookie这个API过于简陋,存在安全隐患
使用localStorage和sessionStorage做本地存储的3个优点
1:存储容量大,最大5M
2:不会随http请求一起被发送到服务端,减少了请求数据量
3:提供更简单易用的API,setItem和getItem
localStorage和sessionStorage的区别
localStorage:永久存储数据,除非代码或手动删除
sessionStorage:临时存储数据,浏览器关闭后自动清除
![83a2e07eec8317ed894da43a02c7b5c1.png](https://i-blog.csdnimg.cn/blog_migrate/dfc40f33c3ba5460f15f39de6d9426b3.png)
![4f32ea784771d3f307d014e60a5130a9.png](https://i-blog.csdnimg.cn/blog_migrate/6561429a7e66085204c90b1ee28a4095.jpeg)
![28a557dc3840291867496fe9ca2d7897.png](https://i-blog.csdnimg.cn/blog_migrate/25a7ae3bf6901efe222a9d4d765c8f2f.jpeg)