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