10.4 1.session,cookie,token的区别 2.cookie和缓存的区别
1.(1) 存储位置与形态
- Cookie:存储在客户端浏览器中,是服务器发送给浏览器的小型文本文件,可设置过期时间。
- Session:数据存储在服务器端,客户端仅保存一个关联Session的“Session ID”(通常通过Cookie或URL传递)。
- Token:存储在客户端,是服务器生成的一串加密字符串。
(2)典型应用场景
-
Cookie:适合存储少量非敏感信息,如用户登录状态(记住登录)、网站偏好设置(如主题、语言)。
-
Session:适合传统服务器渲染(如JSP/PHP)的Web应用,需实时维护用户状态(如购物车、临时权限),但高并发场景会占用服务器资源。
-
Token:适合前后端分离项目(如Vue/React + 后端API)、APP接口认证、第三方登录(如OAuth2.0),无需服务器存储状态,支持分布式部署
2.(1)核心用途与定位 -
Cookie:主要用于记录用户身份与行为状态,是服务器与客户端之间传递“用户标识”的工具。
例如:记住用户登录状态、记录购物车临时数据、保存网站语言/主题偏好。
-
缓存:主要用于提升数据访问速度,减少重复请求与计算,本质是“高频数据的临时存储池”。
例如:浏览器缓存网页图片/CSS/JS文件、手机APP缓存首页新闻、服务器缓存数据库查询结果。
- 存储内容与大小
- Cookie:存储的是少量结构化文本数据,单个Cookie大小通常限制在4KB以内,且数量有限。
- 缓存:存储的是高频访问的原始数据,大小无固定限制,可从几十KB到数GB不等。
- 管理机制与生命周期
- Cookie:由服务器主动设置,客户端被动存储,生命周期可手动配置。
- 缓存:可由客户端或服务器主动触发,生命周期通常由“淘汰策略”控制,用户也可手动清理。

浙公网安备 33010602011771号