会话跟踪技术

是通过在浏览器第一次请求服务器时,在响应中放入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,并加入指定密钥,通过指定签名算法计算而来。
相关推荐
invicinble5 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
wbs_scy5 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
ss2735 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
try2find6 小时前
打印ascii码报错问题
java·linux·前端
014-code6 小时前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库
Nicander6 小时前
多数据源下@transcation事务踩坑
java·后端
それども7 小时前
DELETE 和 TRUNCATE TABLE区别
java·数据库·mysql
sjsjsbbsbsn7 小时前
大模型核心知识总结
java·人工智能·后端
白晨并不是很能熬夜8 小时前
【PRC】第 2 篇:Netty 通信层 — NIO 模型 + 自定义协议 + 心跳
java·开发语言·后端·面试·rpc·php·nio