--- title: PUT slug: Web/HTTP/Methods/PUT tags: - Método HTTP - Método de requisição - Referencia translation_of: Web/HTTP/Methods/PUT ---
O método de requisição HTTP PUT cria um novo recurso ou subsititui uma representação do recurso de destino com os novos dados.
A diferença entre PUT
e {{HTTPMethod("POST")}} é que PUT
é idempotente: chamá-lo uma ou várias vezes sucessivamente terá o mesmo efeito (não é um efeito colateral), enquanto usar POST
repetidamente pode ter efeitos adicionais, como passar uma ordem várias vezes.
A requisição tem corpo | Sim |
---|---|
Resposta bem sucedida tem corpo | Não |
{{Glossary("Safe")}} | Não |
{{Glossary("Idempotent")}} | Sim |
{{Glossary("Cacheable")}} | Não |
Permitido em formulários HTML | Não |
PUT /new.html HTTP/1.1
PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 16 <p>New File</p>
Se o recurso de destino não tem uma representação atual e a requisição PUT
foi criada com sucesso, então o servidor original deve informar o agente de usuário enviando uma resposta {{HTTPStatus("201")}} (Created
).
HTTP/1.1 201 Created Content-Location: /new.html
Se o recurso de destino tem uma representação atual e essa representação é modificada com sucesso de acordo com o estado de representação em anexo, então o servidor original deve enviar também uma resposta {{HTTPStatus("200")}} (OK
) or a {{HTTPStatus("204")}} (No Content
) para indicar a conclusão da requisição.
HTTP/1.1 204 No Content Content-Location: /existing.html
Specification | Title |
---|---|
{{RFC("7231", "PUT", "4.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semântica e conteúdo. |
{{Compat("http.methods.PUT")}}