Springboot之会话技术

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

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

会话跟踪方案:

  • 客户端会话跟踪技术:Cookie

  • 服务端会话跟踪技术:Session

  • 令牌技术

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

缺点:

  • 移动端APP无法使用Cookie

  • 不安全,用户可以自己禁用Cookie

  • Cookie不能跨域

Session

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

缺点:

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

  • Cookie的缺点

令牌

优点:

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

缺点:

需要自己实现

JWT令牌-介绍

  • 全称:JSON Web Token(https://jwt.io/)

  • 定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。

  • 组成:

> 第一部分:Header(头),记录令牌类型、签名算法等。例如:{"alg":"HS256","type":"JWT"}

>第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。 例如:{"id":"1","username":"Tom"}

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

相关推荐
Lee川4 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
一直不明飞行5 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker5 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
你的保护色5 小时前
【无标题】
java·服务器·网络
basketball6165 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
淘矿人6 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
星浩AI6 小时前
OpenHuman 对比 OpenClaw、Hermes Agent
人工智能·后端·agent
小江的记录本6 小时前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
来恩10036 小时前
请求转发与响应重定向的使用
java
@杰克成6 小时前
Java学习30
java·开发语言·学习