1. CookieHTTP Cookie定义与机制Cookie是服务器发送到用户浏览器并保存在本地的一小块数据浏览器会在后续请求中自动携带这些数据返回给服务器。Cookie主要用于会话状态管理如登录状态个性化设置如语言偏好用户行为跟踪如分析用户浏览习惯技术细节大小限制通常每个Cookie不超过4KB生命周期可通过Expires或Max-Age设置有效期安全属性Secure仅HTTPS传输、HttpOnly防XSS、SameSite防CSRF示例应用// 服务器设置Cookie Set-Cookie: sessionid38afes7a8; HttpOnly; Secure; SameSiteLax2. Session会话工作原理Session是服务器端存储的用户会话信息通常通过Session ID与客户端关联。典型实现方式服务器创建Session并存储内存/数据库通过Cookie将Session ID发送给客户端客户端后续请求携带Session ID服务器验证Session ID获取用户数据存储方案对比内存存储高性能但服务器重启丢失数据库存储持久化但增加I/O开销分布式缓存如Redis兼顾性能与可靠性安全考虑Session固定攻击防护会话超时设置敏感操作需重新认证3. Token令牌认证现代认证方案以JWTJSON Web Token为代表的Token认证机制包含三个部分Header算法类型Payload携带数据Signature防篡改验证典型流程用户登录后服务器签发Token客户端存储TokenLocalStorage/Cookie后续请求在Authorization头携带Token服务器验证签名并提取数据优势体现无状态服务器不需存储会话跨域支持适合微服务架构细粒度控制可包含权限信息安全实践// JWT示例 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ. SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c4. 对比总结特性CookieSessionToken存储位置客户端服务端客户端安全性需防护措施依赖服务器安全签名验证扩展性同源限制集群需共享存储天然支持分布式典型用途会话跟踪用户会话管理API认证/SSO选型建议传统Web应用CookieSession前后端分离/移动端Token高安全要求结合多种机制如CSRF Token
Cookie、Session和Token
1. CookieHTTP Cookie定义与机制Cookie是服务器发送到用户浏览器并保存在本地的一小块数据浏览器会在后续请求中自动携带这些数据返回给服务器。Cookie主要用于会话状态管理如登录状态个性化设置如语言偏好用户行为跟踪如分析用户浏览习惯技术细节大小限制通常每个Cookie不超过4KB生命周期可通过Expires或Max-Age设置有效期安全属性Secure仅HTTPS传输、HttpOnly防XSS、SameSite防CSRF示例应用// 服务器设置Cookie Set-Cookie: sessionid38afes7a8; HttpOnly; Secure; SameSiteLax2. Session会话工作原理Session是服务器端存储的用户会话信息通常通过Session ID与客户端关联。典型实现方式服务器创建Session并存储内存/数据库通过Cookie将Session ID发送给客户端客户端后续请求携带Session ID服务器验证Session ID获取用户数据存储方案对比内存存储高性能但服务器重启丢失数据库存储持久化但增加I/O开销分布式缓存如Redis兼顾性能与可靠性安全考虑Session固定攻击防护会话超时设置敏感操作需重新认证3. Token令牌认证现代认证方案以JWTJSON Web Token为代表的Token认证机制包含三个部分Header算法类型Payload携带数据Signature防篡改验证典型流程用户登录后服务器签发Token客户端存储TokenLocalStorage/Cookie后续请求在Authorization头携带Token服务器验证签名并提取数据优势体现无状态服务器不需存储会话跨域支持适合微服务架构细粒度控制可包含权限信息安全实践// JWT示例 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ. SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c4. 对比总结特性CookieSessionToken存储位置客户端服务端客户端安全性需防护措施依赖服务器安全签名验证扩展性同源限制集群需共享存储天然支持分布式典型用途会话跟踪用户会话管理API认证/SSO选型建议传统Web应用CookieSession前后端分离/移动端Token高安全要求结合多种机制如CSRF Token