cookie:
Cookie主要用于在客户端和服务器之间传递数据。它可以存储少量的数据,并且在每次请求时都会自动发送到服务器。但cookie能存储的东西非常少。
场景:
-
用户登陆状态: 将用户登陆状态存在cookie中,用户下次登陆时,就可以保持自己的登陆状态了。
localStorage:
在客户端长期存储数据,数据会一直保存在浏览器中。
场景:
-
用户个性化设置: 例如:用户设置的页面字体大小、主题等,都可存储在localStorage中
sessionStorage:
客户端临时存储数据,关闭页面失效。sessionStorage 刷新是不会导致丢失的!!!!
只有重开一个新页面或者页面关闭才会清除!!!
场景:
-
临时数据存储: 存储当前页面的一些临时数据(如:临时计算结果)
Cookie 、Session 、 token 的区别
cookie: 数据载体。
session: 服务端生成,本地只存sessio
nid,sessionid由服务端生成,且验证信息存在服务端。
一般实际使用是,结合cookie(基于cookie的session)。
但是他缺点明显:sessionID是需要存在服务器的,但用户量大的时候,对服务器有负担,而且如果有多台服务器,sessionID又需要分享给其他的服务器。
这是我在某金网站截取的一个请求的响应头:
token: token实际上只是一个特殊的字符串。服务器只保存JWT签名密文,不保存token,客户端保存token。
(大家不太理解的可以去看看b站蛋老师的讲解)
此处附上链接啦,求赞,求赞。
Cookie、Session、Token究竟区别在哪?如何进行身份认证,保持用户登录状态?_哔哩哔哩_bilibili
面试题:为什么token 要同时存在vuex 与 localStorage里面?
vuex是管理数据状态的,而且是响应式的,数据在一处改变,其他地方都会改变,所以我们要使用vuex来存取token。但同时,因为vuex是存储在内存中的,一旦页面刷新,数据就会丢失。
但localStorage存在磁盘内,是不会丢失的,所以我们要结合使用。
结尾
最近有看史铁生的《我与地坛》,他说,“二十一岁末,双腿彻底背叛了我,我没死,全靠友谊”。
真tm写得好,朋友简直是我人生中最为重要的构成之一了,有一群超棒的朋友简直太赞了!!!