--- title: PATCH slug: Web/HTTP/Methods/PATCH tags: - HTTP - Método HTTP - Referencia - Rest - patch translation_of: Web/HTTP/Methods/PATCH ---
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 |
PATCH /file.txt HTTP/1.1
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]
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ção | Título |
---|---|
{{RFC("5789", "PATCH")}} | PATCH Method for HTTP |