PATCH
El método HTTP PATCH aplica modificaciones parciales a un recurso.
El método HTTP PUT únicamente permite reemplazar completamente un documento. A diferencia de PUT
, el método PATCH
no es idempotente, esto quiere decir que peticiones identicas sucesivas pueden tener efectos diferentes. Sin embargo, es posible emitir peticiones PATCH
de tal forma que sean idempotentes.
PATCH
(al igual que POST
) puede provocar efectos secundarios a otros recursos.
Para averiguar si un servidor soporta PATCH
, el servidor puede notificar su compatibilidad al añadirlo a la lista en el header: Allow
o Access-Control-Allow-Methods
(para CORS).
Otra indicación (implícita) de que las peticiones PATCH son permitidas, es la presencia del header: Accept-Patch
, el cual especifica los formatos de documento patch aceptados por el servidor.
Petición con cuerpo | Sí |
---|---|
Respuesta exitosa con cuerto | Sí |
Seguro | No |
Idempotente | No |
Cacheable | No |
Permitido en formularios HTML | No |
Sintaxis
PATCH /file.txt HTTP/1.1
Ejemplo
Petición
PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100
[description of changes]
Respuesta
Una respuesta exitosa es indicada con un código de respuesta 204
, porque la respuesta no tiene mensaje en el body. (el cual tendría una respuesta con el código 200). Tenga en cuenta que también se pueden utilizar otros códigos.
HTTP/1.1 204 No Content Content-Location: /file.txt ETag: "e0023aa4f"
Especificaciones
Especificación | Título |
---|---|
RFC 5789: PATCH | PATCH Method for HTTP |
Ver también
204
Allow
,Access-Control-Allow-Methods
Accept-Patch
– specifies the patch document formats accepted by the server.