-
请描述一下 cookies,sessionStorage 和 localStorage 的区别?
- cookie 是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)
-
cookie 数据始终在同源的 http 请求中携带(即使不需要),记会在浏览器和服务器间来回传递。
- sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存。
-
存储大小:
- cookie 数据大小不能超过 4k。
- sessionStorage 和 localStorage 虽然也有存储大小的限制,但比 cookie 大得多,可以达到 5M 或更大。
- 有效期(生命周期):
- localStorage: 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;
- sessionStorage: 数据在当前浏览器窗口关闭后自动删除。
- cookie: 设置的 cookie 过期时间之前一直有效,即使窗口或浏览器关闭
- 共享:
- sessionStorage 不能共享,
2. localStorage 在同源文档之间共享, - cookie 在同源且符合path规则的文档之间共享
-
cookie
-
本身用于浏览器和server通讯,被"借用”到本地存储来。
-
方法
document.cookie='a=100' document.cookie='b=200' document.cookie // "a=100; b=200"
-
缺点
-
存储大小,最大4KB。
-
http 请求时需要发送到服务端,增加请求数据量。
-
只能用 document.cookie =’…’ 来修改,太过简陋。
-
-
-
localStorage 和 sessionStorage
-
特点
-
HTML5专门为存储而设计,最大可存5M.
-
API简单易用 setItem、 getItem
localStorage.setItem('a',100) localStorage.getItem('a') // "100" sessionStorage.setItem('b',200) sessionStorage.getItem('b') // "200"
-
不会随着 http 请求被发送出去
-
-
区别
- localStorage 数据会永久存储,除非代码或手动删除。
- sessionStorage 数据只存在于当前会话,浏览器关闭则清空。
- 一般用 localStorage 会更多些
-
-
cookie、localStorage、sessionStorage区别
- 容量
- API易用性
- 是否跟随http请求发送出去
-
Cookie、LocalStorage、 SessionStorage、Session
- Cookie 和 LocalStorage
- 主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会
- Cookie 一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)
- LocalStorage 和 SessionStorage
- LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)
- Cookie 和 Session
- Cookie 存在浏览器的文件里,Session 存在服务器的文件里
- Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里
- Cookie 和 LocalStorage
【前端面试指南】JS-9-web-API-存储
最新推荐文章于 2022-03-06 04:39:24 发布