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 (en-US) Não
Permitido em formulários HTML Não

Sintaxe

PATCH /file.txt HTTP/1.1

Exemplo

Requisição

http
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
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