0
点赞
收藏
分享

微信扫一扫

一文彻底搞懂Cookie、Session、Token到底是什么

女侠展昭 2021-09-19 阅读 57

有一个小小的计划,将自己以前纠结的,经常会忘记的,一直保存在收藏夹里的,有时候面试也会被问的问题统统找出来,这次我们一起把它搞的明明白白。

因为个人当前的认知,很多东西也是取之于网络,肯定错误百出,欢迎读者朋友批评指正。

1 现在我们从清空Chrome浏览器收藏夹开始。

今天聊一个很经典的问题:Cookie、Session、Token。

这个问题,应该说是很经典了。要回答好这个问题,并不容易。特别是回答的面试官满意就更难了。

如果不是当时帮助隔壁部门的小姐姐调试一个Jmeter的登录脚本,我是万不能想象还有企业在用cookie存储数据。也可能是我的见识过于小喽。

2 废话不多说,我们先上链接。

别人写的已经够好了,需要的直接点进去看吧。我后面也是对这些的总结,便于自己记忆罢了。

傻傻分不清之 Cookie、Session、Token、JWT

3 好了,我们一起来研究下这个问题。

对于一些网站,必须想办法保持用户的状态,直到用户结束或者退出该网站。比如说电商网站,用户要经历登录---浏览商品---加入购物车---付款等。如果每一步都要重新登录,那就过于麻烦了。

那怎么办呢,初期互联网都是使用cookie来存储用户信息的。

4 首先来说说cookie

下图大致介绍了Cookie产生的过程

Cookie中的参数设置

这个介绍的会比那个更详细些。


看到人家写的东西,感觉总结的真好。

5 再来说说session

Session是存储在服务端方,客户端只存储SessionId。

6 Cookie 和 Session 的区别

讲完了那么多,到底什么区别呢。

可以从这几个方面说:

我再补充一点: 数据保存在服务端会消耗服务器的性能。

7 token又是干什么的

我的理解呢,主要是现在的系统大都是分布式,不同的服务分布在不同地域不同机房的不同机器上。为了解决这个问题,就诞生了token这个解决方案。

流程大致是这个样子的。

(1)Acesss Token

(2)Refresh Token

我们公司也是这样用的,但是当时并不理解Refresh Token干啥用的,现在算是理解了。

8 JWT token

还是看原文吧,我怕自己写不好。

好了,今天就到这了。

其实本文里面最重要的就是两个链接,大家不要喷我哈。

举报

相关推荐

0 条评论