cookie、session、token的区别
Cookie:
cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。
由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。
Session:
session在字面意思上就是会话,比如说要和张三进行一次交谈,也就是说,如果要判断和自己的交谈到底是张三还是李四呢,这个时候就是session在起作用,session好比就是张三身上的某个特征来表明他就是张三。
session用在服务器与浏览器对话中,也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。
对于浏览器客户端,保存session的默认都采用了cookie的方式。
session相比cookie来说更安全些,因为session用完即弃,但是在这里session又有一个缺陷,如果说服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。
Token:
token的出现:在客户端大量的向服务器请求数据,服务器频繁的拿着用户名和密码去数据库里面执行操作,并且要判断用户名和密码是否正确,在这样的背景下,token应用而生。
token的应用:token在服务器端生成一个字符串,作为客户端请求数据的令牌,用户第一次登录以后,就会产生一个token字符串,并且把这个字符串返回给客户端,后面再请求的时候,只要带上这个token来就行了,不需要再带上用户名和密码,
token的简单形式:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,主要是由token的前几位+哈希算法经过压缩,组合成字符串,防止恶意的三方拼接盗取token)
本文来自博客园,作者:田家少闲月-,转载请注明原文链接:https://www.cnblogs.com/zhaoyunxiang/p/15949253.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库