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融入,并加入指定秘钥,通过指定签名算法计算而来

相关推荐
李慕婉学姐10 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆12 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin12 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model200512 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
武藤一雄13 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁
荒诞硬汉13 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国13 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_9418824813 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈14 小时前
两天开发完成智能体平台
java·spring·go
程序新视界14 小时前
为什么不建议基于Multi-Agent来构建Agent工程?
人工智能·后端·agent