Cookie,Session和Token(笔记1)

HTTP:是无状态的,每次访问都会重新请求与验证。

Cookie:服务器setCookie,之后浏览器每次请求都会带着这个字符串(公开,且不安全)

Seesion:seesionID和会话结束时间  

 过程:

 1、初次登录,服务器确定信息无误后,设置ID和会话结束时间,键值对形式存放在cookie里。

  (服务器会在发送之前对该cookie进行签名,一经修改,不再识别。)

 2、再次请求,cookie自己特性会在每个请求时,自动发送cookie到相应的服务器那里。 

  (即每次请求都会自动把sessionID发给服务器)

  (cookie失效时,浏览器会自行删除cookie,会话结束。)

Token:(JWT:JSON Web Token)

 过程:

 1、首次登录,服务器生产JWT,服务器只保存JWT签名的密文;将JWT发送给浏览器。

 浏览器进行存储(Cookie或者Storage形式)

 2、再次请求,cookie特性自动发送JWT到服务器。

 (这里类似于session,但Token存储在用户那边)

 JWT完整的是:header.payload.signature

 1、header(键值对):指定生成签名的算法 --经过Base64编码--> 编码

 2、payload(键值对):特定数据(例如有效期)--经过Base64编码--> 编码

 3、signature:由1、2形成的编码经过算法(header指定的算法)得出的密文(要保存在服务器的签名密码)

总结:Session诞生并保存在服务器,由服务器主导。

 Cookie作为一种数据载体,把Session放到Cookie中送到客户端(即浏览器),之后Cookie跟随HTTP的每个请求发送到服务器。

 Token诞生在服务器,但保存在浏览器,由客户端主导。(存储为Cookie或Storage形式。持有Token便可以允许访问服务器)

笔记来自b站视频​​​​​​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值