HTTP 方法速查表 - REST/HTTP 请求动词与幂等性大全
设计 RESTful 接口时经常纠结用 PUT 还是 PATCH、哪个幂等。这里按方法语义、幂等性、安全属性和状态码搭配分组,配示例直接复制。
返回 参考手册核心方法 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-KeyPOST 重试时用请求头键避免重复创建
状态码搭配 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日,内容持续校对官方文档。