会话跟踪技术

是通过在浏览器第一次请求服务器时,在响应中放入cookie,浏览器接收到cookie后保存在本地,之后每次请求服务器时都将cookie携带到请求头中,用来验证用户身份与状态等。

缺点:

  • 移动端app没有cookie
  • cookie保存在本地不安全,而且用户可以禁用cookie
  • cookie不可以跨域

Session

基于cookie的会话技术,是在浏览器第一次请求时,服务器生成一个sessionid返回给浏览器。之后,浏览器请求时将携带这个sessionid向服务器请求数据。服务器根据这个sessionid在服务器查询用户信息,验证用户状态。

缺点:

  • 服务器集群环境下无法使用session
  • cookie有的缺点,它也有。

令牌技术

  • jwt技术 json web token
  • 定义了一种简洁的,自包含的格式,用于在通信双方以json数据格式安全的传输信息,由于数字签名的存在,这些信息时可靠的。
  • 组成:以 . 分割,前两部分使用base64编码。
    • 第一部分:Header(头),记录令牌类型,签名算法等,例如{"alg":HS256","type":"JWT"
    • 第二部分:Payload(有效载荷),携带一些自定义的信息,默认信息等。{"id":"1","username":"Tom"}
    • 第三部分:signature(签名),防止token被篡改,确保安全性。将header。payload,并加入指定密钥,通过指定签名算法计算而来。
相关推荐
阿维的博客日记4 小时前
MultipartFile 是不是表示仅仅是一个分片?
java·后端·spring·multipartfile
程序员无隅4 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+994 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子4 小时前
浅记java线程池
java·开发语言
一路向北North4 小时前
Spring Security OAuth2.0(23):分布式系统授权-转发明文给微服务
java·spring·微服务
爱吃牛肉的大老虎6 小时前
rust基础之环境搭建
java·开发语言·rust
tellmewhoisi7 小时前
多版本共用redis的token有效期校验(过期重新登录)
java·redis·缓存
疯狂打码的少年7 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程
乐观的Terry7 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程
C++、Java和Python的菜鸟8 小时前
第4章 后端Web基础(基础知识)
java·开发语言