O que é o método POST?

Prévia grátis 2 min de leitura

A ferramenta principal para enviar dados

Enquanto o método GET serve para ler dados, o método POST serve para enviar novos dados para o servidor.

Imagine preencher um formulário de carteira de motorista e entregá-lo ao atendente no Detran. Você não está apenas pedindo informações; está enviando um novo registro que será criado e salvo. No mundo do desenvolvimento web, quando um navegador cria uma nova conta de usuário, salva um post de blog ou registra um pagamento, ele usa uma requisição POST.


Mudando o estado do servidor

Diferente das requisições GET, as requisições POST não são seguras (not safe). Isso significa que elas alteram intencionalmente o estado do servidor. Elas criam registros em um banco de dados, enviam e-mails ou disparam transações financeiras.

Como elas mudam as coisas, o seu navegador trata as requisições POST com mais cuidado. Você não pode digitar uma URL na sua barra de endereços e apertar Enter para fazer uma requisição POST: o navegador sempre enviará uma requisição GET quando você fizer isso.


O conceito de não-idempotência

As requisições POST não são idempotentes (non-idempotent). Isso significa que se você fizer a mesma requisição duas vezes, o estado do servidor vai mudar duas vezes.

Se você clicar em "Finalizar Pedido" em um carrinho de compras e enviar uma requisição POST, o servidor cria o pedido. Se você atualizar acidentalmente a página ou clicar no mesmo botão novamente, uma segunda requisição POST será enviada e o servidor criará um segundo pedido idêntico. É por isso que os navegadores costumam pedir confirmação antes de recarregar uma página que veio do envio de um formulário.


Resumo

Conceito Ponto Chave
Propósito Enviar dados ao servidor, geralmente para criar um novo recurso
Não é Seguro Modifica dados e muda o estado do servidor
Não é Idempotente Repetir a requisição tem um efeito diferente (cria múltiplos registros)
Uso Principalmente formulários HTML com method="POST" e chamadas de API
Aula 1 de 7 · grátis

Continue com a aula 2

Anatomia de uma requisição POST

A requisição POST leva os dados no corpo, e o cabeçalho Content-Type informa ao servidor o formato.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...