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