HTTP 方法速查表 - REST/HTTP 请求动词与幂等性大全

设计 RESTful 接口时经常纠结用 PUT 还是 PATCH、哪个幂等。这里按方法语义、幂等性、安全属性和状态码搭配分组,配示例直接复制。

参考手册·共 27 条命令·最后更新 2026-08-02
返回 参考手册

核心方法 Core Methods 7

GET
获取资源,安全且幂等,不应有副作用
POST
创建子资源或提交处理,非幂等
PUT
完整替换资源,幂等(重复请求结果一致)
PATCH
部分更新资源,通常不幂等(除非语义保证)
DELETE
删除资源,幂等(多次删结果一致)
HEAD
同 GET 但只返回头,用于探活/缓存校验
OPTIONS
查询目标支持的通信选项,CORS 预检用

幂等与安全性 Idempotency & Safety 4

安全方法
GET、HEAD、OPTIONS(不改变服务器状态)
幂等方法
GET、PUT、DELETE、HEAD、OPTIONS
非幂等
POST、PATCH(默认不保证重复请求一致)
Idempotency-Key
POST 重试时用请求头键避免重复创建

状态码搭配 Status Pairing 6

GET → 200 / 304
成功或命中缓存
POST → 201 / 202
创建成功或已接收异步处理
PUT → 200 / 204
替换成功,可返回新资源或空
PATCH → 200 / 204
部分更新成功
DELETE → 204 / 200
删除成功,无内容或返回摘要
方法不允许 → 405
对只支持 GET 的接口发 POST

常见误用 Mistakes 4

用 GET 改状态
违反安全语义,爬虫/预取会误触发副作用
PUT 当 PATCH 用
PUT 需传完整资源,缺字段会被清空
POST 重复提交
无幂等键时重试会创建重复资源
DELETE 返回 200 带正文
更规范是 204 No Content

REST 设计约定 6

GET /users
列表资源(集合)
GET /users/1
单个资源(子资源)
POST /users
新建资源
PUT /users/1
整体替换用户 1
PATCH /users/1
局部更新用户 1
DELETE /users/1
删除用户 1

💡 提示

  • PUT 传完整资源,缺字段会被清空;只想改部分用 PATCH。
  • GET/HEAD/OPTIONS 是安全方法,不要在其中改服务器状态。
  • POST 重试要带 Idempotency-Key,否则可能重复创建资源。
  • HTTP 状态码速查表已单独提供,设计接口时配合本表一起看。

官方参考来源

命令整理自以下官方文档,点击核对最新用法。

由 LaoHand 维护

公开更新于 2026年8月2日,内容持续校对官方文档。

发现错误?反馈给我们

命令或描述有误?提交 issue 帮助我们修正。

发现错误?反馈给我们