Pular para o conteúdo principal

Verbos HTTP

Os verbos HTTP são métodos que indicam as ações a serem realizadas nos recursos de um servidor. Cada verbo possui uma semântica específica, utilizada para interações na comunicação cliente-servidor. Abaixo estão os principais verbos HTTP:


1. GET​

Objetivo:​

Recuperar informações de um recurso no servidor.

Características:​

  • Não altera o estado do servidor (método idempotente).
  • Os dados são enviados na URL.
  • Geralmente utilizado para visualizar dados.

Exemplo:​

GET /api/usuarios HTTP/1.1
Host: exemplo.com

2. POST​

Objetivo:​

Criar um novo recurso no servidor.

Características:​

  • Envia dados no corpo da requisição.
  • Não é idempotente (repetir a requisição pode criar múltiplos recursos).

Exemplo:​

POST /api/usuarios HTTP/1.1
Host: exemplo.com
Content-Type: application/json

{
"nome": "João",
"email": "joao@exemplo.com"
}

3. PUT​

Objetivo:​

Atualizar um recurso existente ou criar um novo recurso, caso ele não exista.

Características:​

  • Idempotente (repetir a requisição não altera o resultado final).

Exemplo:​

PUT /api/usuarios/1 HTTP/1.1
Host: exemplo.com
Content-Type: application/json

{
"nome": "João Atualizado",
"email": "joao@exemplo.com"
}

4. PATCH​

Objetivo:​

Atualizar parcialmente um recurso existente.

Características:​

  • Idempotente, mas a atualização é limitada apenas aos campos especificados.

Exemplo:​

PATCH /api/usuarios/1 HTTP/1.1
Host: exemplo.com
Content-Type: application/json

{
"email": "novo-email@exemplo.com"
}

5. DELETE​

Objetivo:​

Remover um recurso do servidor.

Características:​

  • Idempotente (repetir a requisição não causa mais efeitos).

Exemplo:​

DELETE /api/usuarios/1 HTTP/1.1
Host: exemplo.com

6. OPTIONS​

Objetivo:​

Retornar as opções de comunicação disponíveis para um recurso.

Características:​

  • Geralmente usado para verificar métodos suportados por um endpoint.

Exemplo:​

OPTIONS /api/usuarios HTTP/1.1
Host: exemplo.com

7. HEAD​

Objetivo:​

Solicitar informações sobre um recurso, sem recuperar o corpo da resposta.

Características:​

  • Similar ao GET, mas retorna apenas os cabeçalhos da resposta.

Exemplo:​

HEAD /api/usuarios HTTP/1.1
Host: exemplo.com

8. TRACE​

Objetivo:​

Rastrear o caminho que uma requisição percorre até o servidor.

Características:​

  • Usado para diagnóstico e teste, raramente empregado em produção.

Exemplo:​

TRACE /api/usuarios HTTP/1.1
Host: exemplo.com

9. CONNECT​

Objetivo:​

Estabelecer um túnel de comunicação entre cliente e servidor.

Características:​

  • Comumente usado para conexões seguras como HTTPS.

Exemplo:​

CONNECT exemplo.com:443 HTTP/1.1

Resumo das Características​

MétodoIdempotenteCorpo de Requisição?Uso Principal
GETSimNãoRecuperar dados
POSTNãoSimCriar recurso
PUTSimSimSubstituir/criar
PATCHSimSimAtualização parcial
DELETESimNãoRemover recurso
OPTIONSSimNãoMétodos suportados
HEADSimNãoMetadados
TRACESimNãoRastrear requisição
CONNECTNãoNãoTúnel de conexão