Todos os artigos

Cabeçalhos HTTP: o que está escondido em cada requisição e resposta

Sites brasileiros hospedados atrás de uma CDN como a Cloudflare — opção comum para reduzir a latência até os data centers no exterior — expõem cabeçalhos próprios do provedor, como cf-ray (um identificador único da requisição, útil ao abrir um chamado de suporte) e cf-cache-status (indica se a resposta veio do cache da borda ou do servidor de origem). São cabeçalhos invisíveis para o usuário final, mas essenciais para depurar por que uma página está lenta.

Cabeçalhos de requisição vs. cabeçalhos de resposta

Os cabeçalhos de requisição (como Accept, User-Agent, Cookie) o navegador envia ao servidor, descrevendo a si mesmo e suas expectativas. Os cabeçalhos de resposta (Content-Type, Set-Cookie, Cache-Control) o servidor envia de volta, descrevendo os dados retornados e instruções para o navegador.

Para que serve o Content-Type

O cabeçalho Content-Type diz ao navegador como interpretar o corpo da resposta: como uma página HTML, dados JSON, uma imagem ou um arquivo para download. Sem o valor correto aqui, o navegador pode tentar exibir um JSON como texto simples ou, ao contrário, processar mal um HTML.

Como o Cache-Control controla o cache

Valores como max-age=3600 ou no-cache indicam ao navegador e a proxies intermediários por quanto tempo uma versão em cache de um recurso pode ser usada sem uma nova requisição ao servidor. Configurar esse cabeçalho incorretamente é uma causa comum de usuários verem uma versão desatualizada de um site.

Para que serve isso

  • Diagnosticar por que um navegador está exibindo incorretamente a resposta de uma API.
  • Identificar cabeçalhos específicos de CDN, como os da Cloudflare, ao depurar problemas de cache ou latência.
  • Confirmar que um site é servido via HTTPS — requisito obrigatório para a Web Crypto API da qual dependem as próprias ferramentas de hash e JWT deste site.

Por que um cabeçalho às vezes aparece repetido

O HTTP permite que o mesmo cabeçalho apareça várias vezes em uma resposta — o caso mais comum são várias linhas Set-Cookie, uma para cada cookie definido. A maioria dos outros cabeçalhos repetidos pode ser combinada em um único valor separado por vírgulas sem alterar seu significado, mas Set-Cookie é uma exceção deliberada, porque uma vírgula pode legitimamente fazer parte do valor de um cookie.

Experimentar a ferramenta