The HTTP PATCH request method applies partial modifications to a resource.
The HTTP PUT method only allows complete replacement of a document. Unlike PUT, PATCH is not idempotent, meaning successive identical patch requests may have different effects. However, it is possible to issue PATCH requests in such a way as to be idempotent.
PATCH (like PUT) may have side-effects on other resources.
To find out whether a server supports PATCH, a server can advertise its support by adding it to the list in the Allow or Access-Control-Allow-Methods (for CORS) response headers.
Another (implicit) indication that PATCH is allowed, is the presence of the Accept-Patch header, which specifies the patch document formats accepted by the server.
| Request has body | Yes |
|---|---|
| Successful response has body | Yes |
| Safe | No |
| Idempotent | No |
| Cacheable | No |
| Allowed in HTML forms | No |
PATCH /file.txt HTTP/1.1
PATCH /file.txt HTTP/1.1 Host: www.example.com Content-Type: application/example If-Match: "e0023aa4e" Content-Length: 100 [description of changes]
A successful response is indicated with a 204 response code, because the response in the example does not carry a message body. (which a response with the 200 code would have). Note that other success codes could be used as well.
HTTP/1.1 204 No Content Content-Location: /file.txt ETag: "e0023aa4f"
| Specification | Title |
|---|---|
| RFC 5789: PATCH | PATCH Method for HTTP |
204Allow, Access-Control-Allow-Methods
Accept-Patch – specifies the patch document formats accepted by the server.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH