Verbo HTTP: POST
O curso trata do método HTTP POST, usado para enviar novos dados ao servidor. Ele explica por que o POST não é seguro nem idempotente e como o corpo da requisição e o cabeçalho Content-Type carregam os dados. Mostra o que o servidor devolve: 201 Created, o cabeçalho Location e o padrão Post/Redirect/Get. Aborda formulários HTML, upload de arquivos e payloads JSON em APIs. Também cobre HTTPS, ataques e tokens CSRF e o tratamento de POST no Rails com create, params, Strong Parameters e form_with.
O que você vai aprender
- ✓Por que requisições POST mudam o estado do servidor e não são idempotentes
- ✓Como funcionam o corpo da requisição e o cabeçalho Content-Type
- ✓Respostas com 201 Created, cabeçalho Location e Post/Redirect/Get
- ✓Envio de formulários HTML, upload multipart e payloads JSON
- ✓Proteção de requisições POST com HTTPS, tokens CSRF e cookies SameSite
- ✓Tratamento de POST no Rails com create, params, Strong Parameters e form_with
O que é o método POST?
Enquanto o método GET serve para ler dados, o método POST serve para enviar novos dados para o servidor.
Ler a aula completa grátis →Currículo
7 aulasO que é o método POST?
O POST envia novos dados ao servidor, muda seu estado e, se repetido, cria registros duplicados.
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.
A resposta de uma requisição POST
O servidor responde ao POST com 201 Created e cabeçalho Location, ou redireciona seguindo o padrão Post/Redirect/Get.
Enviando formulários web
Formulários HTML enviam dados POST codificados como URL por padrão, e uploads de arquivos exigem multipart/form-data.
Payloads JSON e APIs
Clientes JavaScript enviam payloads JSON com fetch e precisam definir o Content-Type como application/json.
Segurança e requisições POST
Sem HTTPS, o corpo do POST trafega como texto puro. Tokens CSRF e cookies SameSite barram requisições forjadas.
Requisições POST no Rails
O Rails direciona o POST para a action create, coloca os dados em params e os filtra com Strong Parameters.