HTTP 方法语义

GET 读取、POST 创建、PUT 整体替换、PATCH 部分更新、DELETE 删除;方法与安全/幂等属性共同决定重试与缓存行为,是一致接口语义的基础。

方法

方法语义安全幂等
GET读取资源是是
POST创建或提交否否
PUT整体替换否是
PATCH部分更新否视实现
DELETE删除资源否是
PATCH 的幂等性取决于补丁语义:JSON Merge Patch 幂等,JSON Patch 需按内容判断。

易错点

  • 用 GET 执行有副作用的操作,被预取或缓存时出问题
  • 把 PUT 当 PATCH 用,未提供的字段被清空

数据来源与参考

  • RFC 9110 HTTP Semantics(第 9 章方法定义)
  • RFC 7396:JSON Merge Patch
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌