cookie,sessionStorage,localStorage的区别

深渊向深渊呼唤

1.考察目标

主要是针对浏览器缓存方面的知识进行考核 其中主要考点是HTML 5本地存储的应用的考察 旨在敲定求职者是否具备真实的开发工作经验

2.分析

存储大小:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,存储大小限制不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如回话标识。
而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大

数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据,cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
-作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个 页面,localStorage在所有同源窗口中都是共享的,cookie也是所有同源窗口中都是共享的。

3.应用场景

cookie
会话管理,购物车商品
个性化:用户首选项,主题或者其他设置
跟踪:记录和分析行为,比如埋点 sessionStorage
页面之间通信传值 localStorage
缓存静态文件内容js,css(百度M站首页)
缓存不常变更的API接口数据
储存地理位置
浏览器在页面的具体位置
栏目