Ver os cabeçalhos HTTP de um site

Digite uma URL para ver o que o servidor responde, para onde redireciona e quais cabeçalhos de segurança estão faltando.

Como ver os cabeçalhos HTTP de um site

  1. Digite ou cole a URL completa, com o caminho se quiser conferir uma página específica.

  2. Clique em “Consultar”: fazemos a requisição do nosso servidor e seguimos os redirecionamentos, como um navegador.

  3. Revise a cadeia de redirecionamentos, os cabeçalhos de segurança que faltam e a lista completa da resposta final.

O que são cabeçalhos HTTP

Toda vez que você pede uma página, o servidor responde com um código de status (200, 301, 404…) e uma lista de cabeçalhos antes do conteúdo. Os cabeçalhos não aparecem na página, mas decidem muita coisa: o tipo de conteúdo, quanto tempo guardar em cache, os cookies, a compressão, os redirecionamentos e as regras de segurança que o navegador deve aplicar.

Revisá-los serve para depurar redirecionamentos, conferir o cache de uma CDN, confirmar que um site força HTTPS ou auditar a segurança dele.

Códigos de status mais comuns

  • 200 OK: a página existe e é entregue.
  • 301 Moved Permanently: redirecionamento permanente. É o certo para SEO ao mudar uma URL, porque transfere o posicionamento.
  • 302 Found e 307 Temporary Redirect: redirecionamentos temporários. Os buscadores mantêm a URL original.
  • 308 Permanent Redirect: como o 301, mas mantendo o método (POST continua POST).
  • 403 Forbidden: o servidor se recusa a entregar (às vezes porque bloqueia robôs).
  • 404 Not Found: não existe.
  • 500 e 503: erro do servidor ou serviço indisponível.

Uma boa configuração faz um único redirecionamento de http://example.com para https://www.example.com (ou o contrário), e não uma cadeia de vários.

Cabeçalhos de segurança que todo site deveria ter

  • Strict-Transport-Security (HSTS): força HTTPS pelo tempo indicado. Valor típico: max-age=31536000; includeSubDomains.
  • Content-Security-Policy: lista de origens permitidas para scripts e recursos. É o mais poderoso e o mais delicado de configurar; comece com Content-Security-Policy-Report-Only.
  • X-Content-Type-Options: nosniff.
  • X-Frame-Options: DENY ou SAMEORIGIN (ou frame-ancestors na CSP).
  • Referrer-Policy: strict-origin-when-cross-origin é um bom equilíbrio.
  • Permissions-Policy: desative o que você não usa, por exemplo camera=(), microphone=(), geolocation=().

Além disso, vale esconder Server e X-Powered-By, que só dão pistas a um atacante.

Como fazemos a consulta

Pedimos a página do nosso servidor com uma requisição GET normal, lemos só os cabeçalhos (não baixamos o conteúdo) e seguimos até cinco redirecionamentos. Por segurança, só consultamos endereços públicos nas portas 80, 443, 8080 e 8443, nunca uma rede interna.

Lembre que alguns servidores respondem diferente conforme quem pergunta: uma CDN pode devolver outro cache dependendo do país, e alguns sites bloqueiam requisições automáticas com um 403. Se algo parecer estranho, compare com a aba Rede das ferramentas de desenvolvedor do seu navegador.

Perguntas frequentes

Como confiro se um redirecionamento é 301 ou 302?

Digite a URL de origem: a tabela de respostas mostra o código de cada salto. Para SEO, uma mudança definitiva de URL deve ser 301 (ou 308).

Por que dá 403 se o site funciona no meu navegador?

Alguns sites e CDNs bloqueiam requisições que não vêm de um navegador de verdade, ou as que vêm de data centers. Isso não quer dizer que o site esteja fora do ar.

Como adiciono os cabeçalhos de segurança ao meu site?

Na configuração do servidor (add_header no Nginx, Header set no Apache), na sua CDN (a Cloudflare, por exemplo, permite adicionar com regras) ou na própria aplicação. Depois, confira de novo aqui.

O conteúdo da página é baixado?

Não. Só lemos a linha de status e os cabeçalhos e fechamos a conexão. Não guardamos nem a URL nem a resposta.