Web开发-Cookie
Cookie 学习笔记
1. Cookie 基本概念
Cookie 是一种客户端会话跟踪技术,数据存储在客户端浏览器中。主要用于在同一次会话的不同请求之间共享数据。
2. Cookie 工作流程
- 第一次请求:客户端访问服务器(如登录接口)
- 服务器响应:在响应中设置Cookie(包含用户ID、用户名等信息)
- 浏览器存储:自动将Cookie保存到本地
- 后续请求:浏览器自动携带该Cookie到服务器
三个关键”自动”:
- ✅ 服务器自动通过
Set-Cookie响应头返回Cookie - ✅ 浏览器自动存储接收到的Cookie
- ✅ 后续请求浏览器自动通过
Cookie请求头携带Cookie
3. HTTP 协议支持
| 类型 | 头字段 | 说明 |
|---|---|---|
| 响应头 | Set-Cookie | 服务器设置Cookie |
| 请求头 | Cookie | 客户端携带Cookie |
4. 代码示例
1 | // 设置Cookie |
5. 测试流程
访问
/c1接口 → 服务器设置Cookie → 浏览器存储访问
/c2接口 → 浏览器自动携带Cookie → 服务器读取
6. 优缺点分析
✅ 优点:
- HTTP协议原生支持(浏览器自动处理)
- 实现简单
❌ 缺点:
- 移动端兼容性问题
- Android/iOS原生APP无法使用
- 安全性问题
- 用户可以手动禁用Cookie
- 存在CSRF风险
- 跨域限制
- 无法在不同域之间共享Cookie
7. 跨域详解
跨域判定标准(任一不同即为跨域):
| 维度 | 示例1 | 示例2 | 是否跨域 |
|---|---|---|---|
| 协议 | http | https | ✔️ |
| IP | 192.168.150.200 | 192.168.150.100 | ✔️ |
| 端口 | 80 | 8080 | ✔️ |
典型跨域场景:
1 | 前端:http://192.168.150.200/login.html |
⚠️ 此时设置的Cookie无法跨域使用
8. 关键总结
- Cookie是基于HTTP协议的会话管理技术
- 自动管理机制由浏览器实现
- 适合同域的Web应用,但在移动端和跨域场景下受限
- 重要数据应考虑配合其他安全措施使用
提示:现代Web开发中,对于身份认证等敏感场景,建议结合Token等更安全的技术方案。
-
感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Gavin的博客