session、cookie、token的区别

session:服务器为每个用户会话创建的内存对象,用于存储用户状态,储存在服务器端。
1.Session本身不直接通过HTTP传输,而是依赖 Cookie 作为 “桥梁”,
2.服务器存储压力大:用户量增多时,Session 占用的服务器资源会增加。
3.安全性较高:数据存储在服务器,客户端无法直接修改。
4.扩展性差:在分布式系统中,需通过Session共享解决跨服务器认证问题。
cookie:服务器发送到客户端浏览器并保存在本地的小型文本数据,下次请求时会自动携带。储存在客户端,可设置过期时间。
1.容量有限(通常 4KB 左右),只能存储文本。
2.每次 HTTP 请求都会自动附加在请求头中发送给服务器。
3.安全性较低,可被客户端篡改
token:服务器生成的一串加密字符串,作为客户端请求的 “身份凭证”,包含用户身份信息或权限声明,储存在客户端。
1.无状态:服务器不存储Token,只需验证Token的签名有效性。
2.灵活性高:可在HTTP请求头、URL、Body 中传递,支持移动端。
3.安全性:依赖加密签名,防止篡改;但一旦泄露,攻击者可直接使用(需设置较短有效期)。
4.扩展性强:适合分布式系统和微服务架构,无需服务器共享状态。

posted @ 2025-10-30 09:54  落叶不见白雪  阅读(4)  评论(0)    收藏  举报