--- title: POST slug: Web/HTTP/Methods/POST tags: - HTTP - Método de requisição - Referencia translation_of: Web/HTTP/Methods/POST ---
{{HTTPSidebar}}

método HTTP POST envia dados ao servidor. O tipo do corpo da solicitação é indicado pelo cabeçalho {{HTTPHeader("Content-Type")}}.

A diferença entre PUT e {{HTTPMethod("POST")}} é que PUT é idempotente: chamá-lo uma vez ou várias vezes sucessivamente tem o mesmo efeito (ou seja, nenhum efeito colateral), onde sucessivos POST idênticos podem ter efeitos adicionais, assim como passando uma ordem várias vezes.

Uma solicitação POST geralmente é enviada por meio de um formulário HTML e resulta em uma alteração no servidor. Nesse caso, o tipo de conteúdo é selecionado colocando a string adequada no atributo {{htmlattrxref("enctype", "form")}} do elemento {{HTMLElement("form")}} ou o atributo {{htmlattrxref("formenctype", "input")}} dos elementos {{HTMLElement("input")}} ou {{HTMLElement("button")}}:

Quando a requisição POST é enviada através de um método diferente de um formulário HTML - como por meio de um {{domxref("XMLHttpRequest")}} - o corpo pode assumir qualquer tipo. Conforme descrito na especificação HTTP 1.1, o POST é projetado para permitir que um método uniforme cubra as seguintes funções:

Requisição tem corpo Sim
Resposta bem-sucedida tem corpo Sim
Seguro Não
Idempotente Não
Cacheável Somente se as informações de atualização estiverem incluídas
Permitido em formulários HTML Sim

Sintaxe

POST /index.html

Exemplo

Um simples formulário utilizando o padrão content type application/x-www-form-urlencoded:

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13

say=Hi&to=Mom

Um formulário utilizando o content type multipart/form-data:

POST /test.html HTTP/1.1
Host: example.org
Content-Type: multipart/form-data;boundary="boundary"

--boundary
Content-Disposition: form-data; name="field1"

value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"

value2

Especificações

Especificação Título
{{RFC("7231", "POST", "4.3.3")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Compatibilidade com navegadores

{{Compat("http.methods.POST")}}

Veja também