PATCH
O método de requisição HTTP PATCH aplica modificações parciais a um recurso.
O método HTTP PUT permite apenas substituições completas de um documento. Em contraste ao PUT, o método PATCH não é idempotente, ou seja, requisições sucessivas idênticas podem obter efeitos distintos. Todavia, é possível realizar requisições PATCH de modo a serem idempotentes.
PATCH (assim como PUT) podem ter efeitos colaterais em outros recursos.
Para descobrir se um servidor dá suporte a PATCH, um servidor pode divulgar seu suporte adicionando tal suporte à lista no cabeçalho de resposta HTTP Allow ou Access-Control-Allow-Methods (para CORS).
Outra indicação (implícita) da permissão de PATCH é a presença do cabeçalho Accept-Patch, que especifica o formato do documento patch aceito pelo servidor.
| Requisição possui corpo | Sim |
|---|---|
| Resposta sucedida possui corpo | Sim |
| Safe | Não |
| Idempotent | Não |
| Cacheable | Não |
| Permitido em formulários HTML | Não |
Sintaxe
PATCH /file.txt HTTP/1.1
Exemplo
>Requisição
PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100
[descrição das mudanças]
Resposta
Uma resposta sucedida é indicada pelo status de resposta 204, visto que a resposta não carrega um corpo de mensagem.
HTTP/1.1 204 No Content
Content-Location: /arquivo.txt
ETag: "e0023aa4f"
Especificações
| Especificação | Título |
|---|---|
| RFC 5789: PATCH | PATCH Method for HTTP |
Veja também
204Allow,Access-Control-Allow-MethodsAccept-Patch– Especifica o documento patch aceito pelo servidor.