# Impressão digital pela ordem de cabeçalhos HTTP

> Cole um bloco de cabeçalhos de requisição e veja como a ordem e a caixa dos cabeçalhos identificam o cliente - o análogo em HTTP passivo do JA3.

- Tool: https://ronutz.com/pt-BR/tools/http-header-order-fingerprint
- Family: Segurança e WAF

---

## O que faz

Cole um bloco bruto de cabeçalhos de requisição HTTP - uma linha de requisição e um "Nome: valor" por linha - e a ferramenta explica como a ordem e a caixa dos cabeçalhos identificam o cliente. Ela classifica o remetente como um navegador da família Chromium, Firefox ou uma biblioteca HTTP, comparando a sequência de cabeçalhos e verificando cabeçalhos exclusivos de navegador como Sec-Fetch e Sec-CH-UA, aponta o sinal de minúsculas do HTTP/2 e lista os cabeçalhos comuns de navegador que estejam ausentes.

## O análogo em HTTP passivo do JA3

O JA3 identifica um cliente TLS pela ordem das cifras e extensões no seu ClientHello. A ordem dos cabeçalhos é a mesma ideia uma camada acima: navegadores, bibliotecas e bots emitem cada um os cabeçalhos de requisição numa sequência característica, e essa sequência sobrevive mesmo quando os valores são forjados. Uma requisição cuja ordem de cabeçalhos contradiz o User-Agent que afirma - o UA do Chrome com o conjunto de cabeçalhos do curl - é um indício clássico de bot, e é por isso que sistemas de detecção de bots e WAFs se baseiam nela.

## Lendo o resultado

O hash da ordem é um id curto e estável para a sequência exata de cabeçalhos, exibido apenas para visualização. As notas por cabeçalho explicam por que cada posição importa; a nota de caixa sinaliza se o bloco parece uma captura HTTP/1.1 (Title-Case) ou HTTP/2 (minúsculas no fio). Apenas decodifica/explica; os cabeçalhos que você cola nunca saem do seu navegador.

## Standards and references

- [RFC 9110 — HTTP Semantics (field order)](https://www.rfc-editor.org/rfc/rfc9110) - header field semantics; order not significant to meaning but observable
- [RFC 9113 — HTTP/2 (lowercased field names, :authority)](https://www.rfc-editor.org/rfc/rfc9113) - the wire lowercasing and pseudo-headers this tool notes
- [W3C — Fetch Metadata Request Headers](https://www.w3.org/TR/fetch-metadata/) - Sec-Fetch-* headers emitted by browsers

## Related reading

- [Cabeçalhos HTTP: A Anatomia dos Metadados](https://ronutz.com/pt-BR/learn/http-headers-anatomy.md): Tudo que o HTTP sabe sobre uma mensagem e que não é a mensagem viaja em cabeçalhos: linhas nome-dois-pontos-valor com nomes insensíveis a caixa, dobradas em quatro papéis de trabalho - contexto de requisição, contexto de resposta, metadados de representação e encanamento de carga. A divisão end-to-end vs hop-by-hop pela qual proxies vivem, o cabeçalho Host que tornou a hospedagem virtual possível, negociação de conteúdo, condicionais, e por que a ordem dos cabeçalhos virou impressão digital.
- [Fingerprinting passivo: o que você emite sem que perguntem](https://ronutz.com/pt-BR/learn/passive-fingerprinting-what-you-emit.md): Toda conexão anuncia sua pilha antes de um byte de dados de aplicação fluir. Como um SYN TCP, uma string de User-Agent e a mera ordem dos cabeçalhos HTTP identificam um cliente - e por que a contradição entre eles é o indício clássico de proxy e bot.
