Cookie、Session、Token的区别与联系

Cookie:

存储在浏览器端的文本数据,内存大小不超过4kb里面存储了用户信息和浏览的记录等敏感信息 用途:登录一个网站后下次在浏览该网站时可以直接登录不需要再次输入了 缺点:安全性不好,如果电脑别黑,在浏览器记录里就会cookie中就会暴露你的用户信息 cookie是浏览器端发送请求后服务器端生成保存在浏览器端的文本,下次登录的时候直接把cookie中的用户信息发送给服务器端,完成自动登录,但是为了安全性,诞生了新的存储机制:Session(会话)

session开始:浏览器访问服务器

cookie和seeion的关系:

seeion是服务器向浏览器发送数据时,包含在cookie中的

Session:

sessionID(没有规律的字符串,即使被黑了也很难通过sessionID获取用户名、密码)和回话结束时间(一般设置成cookie的有效期)

每次浏览器访问服务器端是都会把sessionID发送给服务器端,知道回话结束后才会丢弃SessionID想服务器端获取新的SessionID这需要重新登录了。 当浏览器端请求成功后,浏览器端就会生成cookie:

token的引出:

由于网络的高速发展,网络用户增加,如果服务器依旧使用基于Cookie的Session的话,假如大量时间有大量用户访问服务器的时候,服务器就会生成存储大量的SessionID在服务器里面,可能导致服务器的超载如果让数据库保存的话,假如数据库也崩溃了那就会影响用户获取sessionID,这时候JWT就出现了Json Web Token

什么是token:

存储在浏览器中的一段字符串:用户名+密码+密钥组成的字符串 header.payload.signature

header:声明需要什么算法生成签名会经过Base64编码

payload:一些特定的数据,有效期之类的经过Base64编码

signature:签名的信息,就是结合上面两段编码进行算法运算生成签名信息算法就是header声明的算法 过程:浏览器向服务器发送请求时,服务器就会生成JWT让浏览器保存,而不是服务器保存保存jwt签名的密文,让浏览器以Cookie或者Storage的形式进行存储,

token与session的区别:

session存储在服务器,而token存储来浏览器

总结:

session诞生存储与服务器那边有服务器主导,token诞生于服务器但是存储在浏览器由客户端主导,而cookie就是他们的载体起到运输作用,比如把sessionID通过cookie传输到浏览器这边,Cookie跟随HTTP,每个请求发送出去

相关推荐
科技小E1 分钟前
监控设备品牌杂乱无法互通?EasyGBS打通孤岛,统一汇聚视频
服务器·网络·音视频
打工仔折腾 AI1 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
MATLAB代码顾问2 小时前
Simulink PI 参数扫描与批量仿真完整 MATLAB 代码
开发语言·matlab
weixin199701080162 小时前
《抖音商品API:/product/detail 与 /product/list 的字段边界与图片合规踩坑》(附 Python 源码)
服务器·网络·windows
Want5952 小时前
Python跳动的爱心②
开发语言·python·数学建模
云飞云共享云桌面2 小时前
设计师共享单台图形服务器,解决 SolidWorks大装配卡顿难题
运维·服务器·3d·自动化·电脑·制造
无足鸟ICT2 小时前
【RHCA+】RPM包命名规则
linux·运维·服务器
小羊没烦恼!3 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
爱吃香菜的初学者3 小时前
十六.Linux——多线程(2)
linux·运维·开发语言
jeo陽3 小时前
04-循环实战:素数、最大公约数、级数求和与枚举法
c语言·开发语言·数据结构