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
204
Allow
,Access-Control-Allow-Methods
Accept-Patch
– Especifica o documento patch aceito pelo servidor.