说一说cookie sessionStorage localStorage 区别?
得分点:数据存储位置、生命周期、存储大小、写入方式、数据共享、发送请求时是否携带、应用场景等。
回答:
Cookie、SessionStorage、 LocalStorage都是浏览器的本地存储。
共同点:都是存储在浏览器本地的。
不同点:
(1)写入方式
Cookie由服务端写入;
SessionStorage和LocalStorage由前端写入。
(2)生命周期
Cookie的生命周期是由服务器端在写入时就设置好的,默认的情况下是关闭浏览器后失效;
SessionStorage的生命周期是仅保持在当前页面,关闭当前会话或者浏览器后就会失效;
LocalStorage的生命周期从写入就一直存在,除非手动删除。
(3)存储大小
Cookie的存储空间比较小,大概是4KB,一般页面最多存储20条左右信息;
SessionStorage和LocalStorage存储空间比较大,大概是5MB。
(4)数据共享
Cookie、SessionStorage和LocalStorage数据共享都遵循同源原则,SessionStorage还限制必须是同一个页面。
(5)发送请求时是否携带
前端给后端发送请求时候会自动携带Cookie中的数据,但是SessionStorage和LocalStorage不会。
(6)应用场景
Cookie一般用于存储登录验证信息SessionID或者token;
LocalStorage常用于存储不易变动的数据,减轻服务器的压力;
SessionStorage可以用来检测用户是否刷新进入页面,如音乐播放恢复进度条功能。