Sobes.tech
Intern

Que tipos de pedidos HTTP existem?

sobes.tech IA

Resposta da IA

Principais tipos de pedidos HTTP: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.

Descrição dos mais comuns:

  • GET: Solicita a visualização de um recurso especificado. Pedidos com este método devem obter apenas dados.
  • POST: Envia dados para serem processados por um recurso específico. Um resultado comum é uma alteração de estado ou efeitos colaterais no servidor.
  • PUT: Substitui todas as visualizações atuais do recurso alvo pelos dados do corpo do pedido.
  • DELETE: Remove o recurso especificado.
  • PATCH: Aplica modificações parciais ao recurso.
  • HEAD: Solicita os cabeçalhos como GET, mas sem o corpo da resposta. Usado para obter metadados.
  • OPTIONS: Descreve os parâmetros de comunicação para o recurso alvo.
  • CONNECT: Transforma a conexão solicitada em um proxy TCP/IP transparente.
  • TRACE: Realiza um teste de feedback no caminho para o recurso alvo.

Diferenças entre GET e POST:

Característica GET POST
Objetivo Obter dados Enviar dados para processamento
Transmissão de dados Via parâmetros URL (Query String) Via o corpo do pedido
Segurança Idempotente (requisições repetidas não mudam o estado) Não idempotente
Visibilidade dos dados Visíveis na URL, salvos no histórico do navegador, logs do servidor Não visíveis na URL, não salvos no histórico do navegador
Tamanho dos dados Limitado pelo comprimento da URL Sem restrições (ou muito grandes)
Cache Pode ser cacheado Não cacheado por meios básicos
Favoritos Pode adicionar uma página com parâmetros GET aos favoritos Não (para métodos normais de envio de formulários)

Exemplo de uso de GET em PHP:

<?php
// Obter o parâmetro 'id' da URL
$userId = $_GET['id'];
echo "ID do usuário: " . htmlspecialchars($userId);
?>

Exemplo de uso de POST em PHP (processamento de dados de formulário):

<?php
// Verificar se a requisição foi por método POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Obter dados do corpo da requisição
    $username = $_POST['username'];
    $password = $_POST['password'];
    // Processar os dados (por exemplo, salvar em banco de dados)
    echo "Nome de usuário: " . htmlspecialchars($username) . "<br>";
    echo "Senha recebida.";
}
?>