--- title: PATCH slug: Web/HTTP/Methods/PATCH tags: - HTTP - Método HTTP - Referencia - Rest - patch translation_of: Web/HTTP/Methods/PATCH ---
{{HTTPSidebar}}

O método de requisição HTTP PATCH aplica modificações parciais a um recurso.

O método HTTP {{HTTPMethod("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 {{HTTPHeader("Allow")}} ou {{HTTPHeader("Access-Control-Allow-Methods")}} (para CORS).

Outra indicação (implícita)  da permissão de PATCH é a presença do cabeçalho {{HTTPHeader("Accept-Patch")}}, que especifica o formato do documento patch aceito pelo servidor.

Requisição possui corpo Sim
Resposta sucedida possui corpo Sim
{{Glossary("Safe")}} Não
{{Glossary("Idempotent")}} Não
{{Glossary("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 {{HTTPStatus("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