会话技术

一、会话技术

1.会话:用户打开浏览器,访问web服务器的资源,会话建立,直到一方断开连接,会话结束。再一次会话中可以包含多次请求和响应。

2.会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据。

二、会话跟踪

1.客户端会话跟踪技术:Cookie

(1)优点:HTTP协议中支持的技术

(2)缺点:

  • 移动端APP无法使用Cookie
  • 不安全,用户可以自己禁用Cookie
  • Cookie不能跨域(跨域区分三个维度:协议、IP/域名、端口)

2.服务端会话跟踪技术:Session

(1)优点:存储在服务端,安全

(2)缺点:

  • 服务器集群环境下无法直接使用session
  • Cookie的缺点

3.令牌技术

(1)优点:

  • 支持PC端、移动端
  • 解决集群环境下的认证问题
  • 减轻服务器端存储压力

(2)缺点:需要自己实现

三、JWT令牌

1.简介

(1)全称:Json Web Token(https://jwt.io/)

(2)定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的。

2.组成

(1)第一部分:Header(头),记录令牌类型,签名算法等。

(2)第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。

(3)第三部分:Sinature(签名),防止Token被篡改、确保安全性。将header、payload,并加入指定密钥,通过指定算法计算而来。

3.场景:登录认证

(1)登陆成功后,生成令牌;

(2)后续每个请求,都要携带令牌,系统每次在请求处理之前,先校验令牌,通过后,再处理。

4.JWT-生成

image-20230727101548118

image-20230727101602109

5.JWT校验

image-20230727101634445

6.注意事项

(1)JWT校验时使用的签名密钥,必须和生成JWT令牌时使用的密钥是配套的;

(2)如果JWT令牌解析校验时报错,则说明JWT令牌被篡改或失效了,令牌非法。

posted @ 2023-07-27 11:18  __YJC  阅读(23)  评论(0编辑  收藏  举报