415 字
2 分钟
Cookie、Session、Token 与 JWT 有什么区别
-
Cookie 是客户端保存数据的机制,浏览器会自动携带 Cookie 到服务器。
-
Session 是服务端保存用户状态的机制,通过 Cookie 保存 SessionId,让服务器找到对应用户。
-
Token 是一种身份认证凭证,客户端保存 Token,每次请求携带 Token,服务器验证 Token 获取用户信息。
Session 依赖服务端存储,适合传统 Web;Token 无状态,更适合前后端分离和微服务架构。
JWT Token 能说说吗?
JWT(JSON Web Token)是一种开放标准的令牌格式,常用于用户身份认证。
用户登录成功后,服务端生成 JWT 返回给客户端。客户端之后请求接口时携带 JWT,服务端验证通过后,就可以确认用户身份。

JWT 由 Header、Payload 和 Signature 三部分组成。Header 保存令牌类型和签名算法,Payload 保存用户 ID、过期时间等声明,Signature 用于验证令牌的完整性。
认证流程是:用户登录成功后,服务端生成 JWT 并返回给客户端;客户端后续请求时,通过 Authorization 请求头携带 Token;服务端验证签名和有效期,通过后即可识别用户身份。
JWT 的优点是服务端可以无状态验证,适合分布式系统;缺点是令牌泄露后可能被冒用,而且默认难以主动失效,因此需要合理设置过期时间,并做好密钥管理和令牌撤销设计。
另外,JWT 的 Payload 默认只是编码而不是加密,不能存储密码等敏感信息。
Cookie、Session、Token 与 JWT 有什么区别
https://blog.xqcherry.top/posts/interview/network/cookie-session-token-jwt/ 目录