HTTP 本身无状态;要在多次请求间识别「同一用户」,需要额外机制。 Cookie与Session是常被一起提到、但层级不同的概念。
1. Cookie 是什么
Cookie是浏览器存储的一小段文本,由服务器通过 Set-Cookie 下发,
之后同站点符合条件的请求会自动带上,用于标识、偏好或追踪(取决于设计与隐私策略)。
2. Session 常见实现
Session多指「服务器侧保存的会话状态」。一种典型做法是: 服务器生成随机会话 ID,通过 Cookie 带给浏览器;浏览器下次请求带回该 ID,服务器在内存或存储中查找对应会话数据。
也有把会话信息加密放进 Cookie(无服务器会话存储)的实现,各有取舍。
3. 安全要点(概念级)
- 敏感标识应配合
HttpOnly、Secure、合理SameSite等属性降低窃取与跨站风险。 - 会话固定、跨站请求伪造(CSRF)等威胁需在框架层与业务层综合防护。
- 前后端分离与令牌(如 JWT)方案下,状态存放位置又会不同,需单独设计。
具体属性名与浏览器行为以现行规范与目标浏览器支持为准;此处仅建立分工认知。