现在http请求方法为啥常用的只有post和get方法?

现在 HTTP 请求方法为什么常用的只有 POST 和 GET?

简单来说,是因为绝大多数日常业务场景下,这两个方法就足够表达需求了,其他方法虽然存在,但使用频率低到可以忽略不计(除了某些特定领域)。

下面是目前(2025–2026 年)真实情况的拆解:

1. 使用频率排名(真实项目统计)

排名方法实际使用占比(大致)典型场景是否常用
1GET45–60%查询、列表、分页、详情、搜索、下拉选项极常用
2POST35–50%创建、提交表单、上传文件、登录、支付极常用
3PUT2–8%整体替换资源(极少用)不常见
4PATCH1–6%部分更新资源少用
5DELETE1–5%删除资源少用
6OPTIONS<1%(浏览器自动发)CORS 预检几乎不手动用
7HEAD<0.1%只取 header,不取 body基本不用
8其他≈0%CONNECT、TRACE、PURGE 等极少见

可以看到:GET + POST 占了 90% 以上,其他方法加起来不到 10%。

2. 为什么其他方法用得少?

方法理论语义现实中为什么用得少实际替代方式
PUT整体替换一个资源大部分系统不严格区分“整体替换”和“部分更新”,直接用 POST 更简单用 POST + body 里的操作类型(create/update)
PATCH部分更新资源实现复杂(JSON Patch / JSON Merge Patch 规范用得少),前端/后端对接成本高POST + { op: “update”, data: {…} }
DELETE删除资源安全问题:很多人不敢让前端直接发 DELETE(怕误删),宁愿用 POST + /delete 接口POST /xxx/delete 或 POST + action=delete
OPTIONSCORS 预检浏览器自动发送,前端后端都不需要手动写
HEAD只取元数据实际场景极少(CDN、缓存校验用得多,但业务代码几乎不用)

一句话总结:

GET 和 POST 几乎可以表达所有业务意图,而且最简单、最不容易出错、最兼容、最好调试,所以大家就都用这两个了。

3. 什么时候还会看到其他方法?

  • 严格 RESTful 风格的公司/团队(比较少见)
  • 银行、金融、对外开放 API、规范要求高的中大型项目
  • 会强制用 PUT/PATCH/DELETE
  • GraphQL / tRPC / gRPC 项目
  • 基本不依赖 HTTP 方法语义,全靠 POST
  • 某些特殊场景
  • WebDAV 用 PUT/DELETE/MKCOL 等
  • 文件上传/下载用 PUT
  • 缓存失效用 PURGE(CDN)

结论(2026 年视角)

在 95% 的业务系统中,GET + POST 就真的够用了

其他方法更多是“理论上很优雅,实际上很少人愿意为它多写代码、多做约定、多增加复杂度”。

所以现在的真实情况就是:

“能用 GET 就 GET,能用 POST 就 POST,其他的能不写就不写”
—— 这已经成为大多数团队的实际共识。

你现在项目里是全 POST,还是严格按 REST 语义来的?或者前端/后端对 HTTP 方法的使用习惯有什么不同?可以聊聊。

文章已创建 5074

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部