外观
一句话答案
GET 语义获取资源、参数在 URL、幂等可缓存;POST 语义提交数据、参数在 Body、非幂等不缓存。
核心要点
| 维度 | GET | POST |
|---|---|---|
| 语义 | 获取资源 | 提交数据 |
| 参数位置 | URL查询串 | 请求Body |
| 幂等 | 是 | 否 |
| 缓存 | 可缓存 | 不缓存 |
| 长度 | 受URL长度限制 | 无限制 |
本质: HTTP方法只是语义约定,技术上 GET 也能带 Body(不推荐)
追问与易错
追问方向:
- GET 请求有长度限制吗?
- GET 能带 Body 吗?
- PUT 和 POST 区别?
易错点:
- ❌ GET 不安全 POST 安全——只是参数位置不同安全靠 HTTPS
- ❌ POST 一定比 GET 慢——没有性能区别
💡 记忆锚点
GET 是明信片:内容写在地址栏(URL),人人可见,可以反复寄(幂等可缓存)。POST 是密封信件:内容藏在信封里(Body),每次寄可能产生不同效果(非幂等)。但安全性靠的是加密信道(HTTPS),不是信封。