GET 用于获取资源,数据在 URL,幂等可缓存;POST 用于提交数据,数据在请求体,非幂等不缓存。
核心区别
| 维度 | GET | POST |
|---|---|---|
| 数据位置 | URL 查询参数 | 请求体 |
| 数据大小 | 受浏览器限制(几 KB) | 无明确限制 |
| 数据类型 | 仅 ASCII | 任意类型 |
| 安全性 | URL 暴露,不安全 | 请求体相对安全 |
| 幂等性 | ✅ 幂等 | ❌ 非幂等 |
| 缓存 | ✅ 可缓存 | ❌ 不缓存 |
| 历史记录 | 保留在浏览器 | 不保留 |
适用场景
- GET:查询、搜索、列表、详情(只读操作)
- POST:登录、注册、下单、上传(修改操作)
注意事项
- ❌ 不要用 GET 传敏感数据(密码、手机号)
- ✅ 传文件/大数据必须用 POST
- ⚠️ POST 需配合 HTTPS 才真正安全
- 💡 POST 刷新可能重复提交
一句话:查数据用 GET,改数据用 POST。
张芷铭的个人博客
Comments