基本概念:浏览器存储技术
cookie
cookie存储容量很小,限制为4kB 主要用途保存登录信息,实现免登录,存储一些用户信息。
localstorage
localstorage是HTML5新增的技术,本地存储,不会变一直存储在本地,关掉浏览器数据也存在 localstorage被大多数浏览器支持的,主要用途存储各种信息,大小也有限制 一般5MB
sessionStorage
sessionStorage会话存储,顾名思义就是存储在会话当中,关掉回话窗口,数据清除
三者的异同
1.数据的生命周期
cookie:一般是服务端生成的传给浏览器我们在浏览器可以获取cookie,可以设置时效时间
如果是浏览器页面生成,那么一般默认是关闭浏览器时效
localstorage,sessionStorages是代码中存储的
localstorage:储存时间很长除非手动删除,否则一直存在
sessionStorage:属于回话存储,关闭回话或者浏览器则会被删除,这里跟cookie很像
但是cooki可以设置时效时间
2.存放数据大小 cookie:4kb左右 localstorage:一般5MB sessionStorage:一般没有限制,因为是存放在回话当中,一般是临时使用他
3.与服务端的通信 cookie:从服务端过来,一般会携带在http请求头中,缺点存储数据过多的时候可能会影响性能 localstorage:在浏览器中操作,不与服务器通信 sessionStorage:在浏览器中操作,不与服务器通信
4.易用性 cookie:需要我们自己封装,原生接口不友好 localstorage:原生接口,而且一般就用原生接口 sessionStorage:原生接口,而且一般就用原生接口
实践
localStorage.setItem('like','飞猪') localStorage.getItem('like') '飞猪' sessionStorage.setItem('like','飞猪') sessionStorage.getItem('like') '飞猪'