张芷铭的个人博客

GET 用于获取资源,数据在 URL,幂等可缓存;POST 用于提交数据,数据在请求体,非幂等不缓存。

核心区别

维度GETPOST
数据位置URL 查询参数请求体
数据大小受浏览器限制(几 KB)无明确限制
数据类型仅 ASCII任意类型
安全性URL 暴露,不安全请求体相对安全
幂等性✅ 幂等❌ 非幂等
缓存✅ 可缓存❌ 不缓存
历史记录保留在浏览器不保留

适用场景

  • GET:查询、搜索、列表、详情(只读操作)
  • POST:登录、注册、下单、上传(修改操作)

注意事项

  • ❌ 不要用 GET 传敏感数据(密码、手机号)
  • ✅ 传文件/大数据必须用 POST
  • ⚠️ POST 需配合 HTTPS 才真正安全
  • 💡 POST 刷新可能重复提交

一句话:查数据用 GET,改数据用 POST。

Comments