- Session、Cookie、Token 的核心区别
三者均用于身份认证与状态保持,核心区别在于存储位置、安全性和应用场景。
维度 Cookie Session Token
存储位置 客户端(浏览器本地文件/内存) 服务器端(内存/数据库/缓存) 客户端(存储方式灵活,如Cookie/Storage)
安全性 较低,易被篡改、窃取(如CSRF攻击) 较高,信息仅存服务器,客户端仅存ID 较高,基于加密算法,支持跨域无状态验证
核心特性 依赖浏览器,有大小(约4KB)和数量限制 依赖服务器存储,占用服务端资源,默认基于Cookie传递SessionID 无状态,服务器无需存储,可跨平台(Web/APP)
典型场景 保存用户偏好、记住登录状态(短期) 敏感操作验证、需要严格控制的登录态 前后端分离项目、跨域接口认证、APP登录
- Cookie 和缓存(Cache)的区别
二者本质完全不同,Cookie聚焦身份与状态,缓存聚焦性能与资源复用。
维度 Cookie 缓存(Cache)
核心作用 保存用户身份、会话状态、少量配置信息 暂存高频访问的资源(如HTML/CSS/图片/接口数据),减少重复请求
存储内容 小型文本(键值对),内容由服务器/前端设置 完整的资源文件或数据,内容是请求的响应结果
生命周期 可设置过期时间(会话级/持久化) 由缓存策略(如TTL、Cache-Control)控制,或手动清除
使用场景 登录状态保持、记住密码、用户个性化设置 加速页面加载、降低服务器压力、节省带宽
需要我将这些内容整理成更适合博客园发布的结构化排版文档吗?会优化标题层级、补充案例说明,让内容更易读。