此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
PATCH
HTTPPATCH 请求方法用于对资源进行部分修改。
PATCH 有点类似于CRUD 中的“更新”概念(一般来说,HTTP 与CRUD 不同,两者不应混淆)。
PATCH 请求是一组关于如何修改资源的指令,与PUT 形成对比;后者是一个资源的完整表述。
PATCH 并不需要是幂等的,这与PUT 形成鲜明对比;后者始终是幂等的。“幂等(idempotent)”一词意味着,任何数量的重复、相同的请求都会使资源处于相同的状态。例如,如果一个自动递增的计数器字段是资源的一个组成部分,那么PUT 将自然地覆盖它(因为它覆盖一切),但对于PATCH 则不一定如此。
PATCH 像POST 一样,可能会对其他资源产生副作用。
要知道一个服务器是否支持PATCH,服务器可以通过将其加入Allow 或Access-Control-Allow-Methods(用于CORS)响应标头中的列表来宣告其支持。
另外一个(隐式)表明允许PATCH 方法的指示为Accept-Patch 标头的存在,这个标头明确了服务器端可以接受补丁文档的格式。
In this article
语法
http
PATCH /file.txt HTTP/1.1示例
>请求
http
PATCH /file.txt HTTP/1.1Host: www.example.comContent-Type: application/exampleIf-Match: "e0023aa4e"Content-Length: 100[描述变化情况]响应
任何2xx 状态码都代表成功的响应。
以下示例使用了204 响应码,因为响应不携带任何主体。200 响应可能携带了响应体。
http
HTTP/1.1 204 No ContentContent-Location: /file.txtETag: "e0023aa4f"规范
| Specification |
|---|
| RFC 5789> |
参见
204Allow、Access-Control-Allow-MethodsAccept-Patch——指定了可以接受的补丁文档的格式。