http web development status codes headers api caching security

Códigos de Status HTTP e Cabeçalhos de Resposta: Guia de Referência Completo

Uma referência abrangente para códigos de status HTTP (1xx-5xx) e cabeçalhos de resposta essenciais. Aprenda a depurar aplicações web, otimizar o cache com Cache-Control e gerenciar sessões com Set-Cookie.

2026-04-12

Códigos de Status HTTP e Cabeçalhos de Resposta: Referência Completa

Compreender os códigos de status e os cabeçalhos HTTP é fundamental para desenvolvedores web, especialistas em SEO e administradores de sistemas. Este guia de referência cobre os códigos e cabeçalhos mais importantes usados na comunicação web moderna.

1. Referência Rápida de Códigos de Status HTTP

Os códigos de status são agrupados em cinco classes com base no primeiro dígito.

1xx: Informativos

  • 101 Switching Protocols: O servidor concorda em mudar os protocolos (ex: atualização para WebSockets).

2xx: Sucesso

  • 200 OK: A solicitação foi bem-sucedida.
  • 201 Created: A solicitação foi bem-sucedida e um novo recurso foi criado.
  • 204 No Content: A solicitação foi bem-sucedida, mas não há conteúdo para retornar.

3xx: Redirecionamento

  • 301 Moved Permanently: O recurso foi movido permanentemente para um novo URL.
  • 302 Found: O recurso está temporariamente em um URL diferente.
  • 304 Not Modified: Usado para cache; indica que o recurso não mudou.

4xx: Erros do Cliente

  • 400 Bad Request: O servidor não pode processar a solicitação devido a um erro do cliente (ex: sintaxe malformada).
  • 401 Unauthorized: A autenticação é necessária.
  • 403 Forbidden: O servidor entende a solicitação, mas se recusa a autorizá-la.
  • 404 Not Found: O recurso solicitado não pôde ser encontrado.
  • 429 Too Many Requests: O usuário enviou muitas solicitações em um determinado período de tempo (Limite de taxa).

5xx: Erros do Servidor

  • 500 Internal Server Error: Uma mensagem de erro genérica quando o servidor encontra uma condição inesperada.
  • 502 Bad Gateway: O servidor, agindo como gateway, recebeu uma resposta inválida do servidor upstream.
  • 503 Service Unavailable: O servidor está temporariamente incapaz de lidar com a solicitação (ex: manutenção ou sobrecarga).
  • 504 Gateway Timeout: O servidor não recebeu uma resposta oportuna do servidor upstream.

2. Cabeçalhos de Resposta HTTP Essenciais

Os cabeçalhos fornecem metadados sobre a resposta ou o servidor.

Controle de Cache: Cache-Control

Controla como o navegador e os caches intermediários (como CDNs) armazenam o recurso.

  • public, max-age=31536000, immutable: Ideal para ativos estáticos com versão (JS, CSS).
  • no-store: Não armazenar nada em cache (útil para dados sensíveis).
  • no-cache: Deve revalidar com o servidor antes de usar a versão em cache.

Segurança: Strict-Transport-Security (HSTS)

Informa ao navegador para acessar o site apenas via HTTPS.

  • Exemplo: max-age=63072000; includeSubDomains; preload

Gerenciamento de Sessão: Set-Cookie

Envia um cookie do servidor para o agente do usuário.

  • Exemplo: id=abc; Max-Age=3600; Secure; HttpOnly; SameSite=Lax
    • HttpOnly: Impede que o JavaScript acesse o cookie (mitiga XSS).
    • Secure: Só envia o cookie via HTTPS.
    • SameSite: Controla o comportamento de cookies entre sites (Lax, Strict ou None).

Negociação de Conteúdo: Content-Type e Accept-Encoding

  • Content-Type: Indica o tipo de mídia do recurso (ex: text/html, application/json).
  • Accept-Encoding: Comunicado pelo cliente para indicar a compressão suportada (ex: gzip, br).

3. Tabela Comparativa: Redirecionamento 301 vs. 302

Característica 301 Moved Permanently 302 Found (Temporário)
Impacto SEO Passa autoridade de link (PageRank) Não passa autoridade de link
Cache do Navegador Cacheado por padrão Não cacheado por padrão
Caso de Uso Migração de site, mudança de URL Manutenção, promoções temporárias

FAQ: Problemas Comuns de HTTP

P: Por que recebo um erro 403 Forbidden mesmo quando estou logado?

R: Isso geralmente acontece se o usuário não tiver as permissões/funções específicas para esse recurso, ou se houver uma incompatibilidade de token CSRF.

P: Qual é a diferença entre 401 e 403?

R: 401 Unauthorized significa "Não sei quem você é" (por favor, faça o login). 403 Forbidden significa "Eu sei quem você é, mas você não tem permissão para estar aqui".

P: Como corrijo um erro 502 Bad Gateway?

R: Geralmente é um problema do lado do servidor. Verifique se a aplicação backend (ex: Node.js, Python) está rodando ou se o proxy reverso (Nginx/Apache) está configurado corretamente.

Ferramentas Relacionadas

  • Analisador de Cabeçalho HTTP: Inspecione e analise cabeçalhos de qualquer URL.
  • Construtor de Cache-Control: Gere políticas de cache otimizadas.
  • Verificador de Código de Status: Verifique o código de resposta para sua API ou site.