# Mensagens escondidas em headers HTTP: homenagens, piadas e vagas de emprego no overhead

> O HTTP deixa o servidor acrescentar o header que quiser, e há vinte anos operadores usam essa liberdade para coisas que não são protocolo. Depois que Terry Pratchett morreu, em 2015, milhares de sites passaram a enviar X-Clacks-Overhead: GNU Terry Pratchett, uma homenagem criada a partir de um recurso da trama de um romance do próprio autor. O Slashdot respondia a cada requisição com uma citação de Futurama. A Automattic e o Airbnb esconderam ofertas de emprego onde só quem lê headers ia ver. Um cache de páginas se anuncia com o tema do Batman. Dois códigos de status levam piadas literárias para dentro do próprio padrão. Este artigo passa por cada caso, mostra a evidência e explica o que os bons exemplos têm em comum: não custam nada a quem lê, são verdadeiros e são feitos para quem olha. No fim, mostra como você mesmo pode lê-los e quais são os deste site.

Source: https://ronutz.com/pt-BR/learn/hidden-messages-in-http-headers  
Updated: 2026-10-05  
Related tools: https://ronutz.com/pt-BR/tools/secure-headers, https://ronutz.com/pt-BR/tools/curl-command-builder

---

Toda resposta HTTP começa com uma linha de status e um bloco de headers (os cabeçalhos), e os headers de que o navegador precisa são poucos e conhecidos: o tipo de conteúdo, o tamanho, as regras de cache, a política de segurança. Nada impede o servidor de acrescentar outros. O protocolo ignora um header que não reconhece, e durante décadas a convenção para um header privado foi começar o nome com `X-` (a RFC 6648 aposentou a convenção em 2012, mas não os headers). Nesse espaço que ninguém vigia, operadores colocaram coisas que não têm nada a ver com protocolo. Este artigo reúne as que vale a pena conhecer, com a fonte primária de cada uma, porque a graça do gênero está justamente em poder conferir: rode `curl -I` e lá está.

## A homenagem: X-Clacks-Overhead

Terry Pratchett morreu em 12 de março de 2015. No romance Going Postal (2004), a comunicação a longa distância do Discworld é feita pelos clacks, uma cadeia de torres de semáforo que repassam as mensagens de uma para a outra, e o overhead de uma mensagem pode levar códigos de controle: `G`, mande para a próxima torre; `N`, não registre; `U`, no fim da linha, dê meia-volta e mande de volta. Um nome enviado como `GNU` circula pelas torres para sempre e nunca é anotado, e é assim que os operadores do livro mantêm vivo o nome de um colega que morreu. A ideia é que um homem não está morto enquanto o nome dele ainda é pronunciado.

Poucos dias depois da notícia, leitores do subreddit do Discworld se perguntaram qual seria o overhead da internet e chegaram a um header de resposta HTTP: uma informação de controle que vai junto com toda resposta e que só as máquinas, e quem se dá ao trabalho de olhar, chegam a ver. O header é `X-Clacks-Overhead` e o valor é `GNU Terry Pratchett`. Trechos de configuração para Apache (`Header set`) e Nginx (`add_header`) foram publicados em 15 de março de 2015; depois veio um plugin de WordPress e, em seguida, extensões de navegador que mostram um pequeno marcador quando o site envia o header. O próprio Reddit acrescentou o header. A wiki L-Space, a enciclopédia dos fãs do Discworld, mantém a lista de quem aderiu, e ela chega até o Minecraft, onde `GNU Terry Pratchett` é o texto de abertura número 338 a partir da Java Edition 1.8.5.

O header não faz nada. Os navegadores o ignoram e os caches o deixam passar; ele custa algumas dezenas de bytes por resposta. A ideia é exatamente essa: uma homenagem que não custa nada a quem lê e que só é encontrada por quem foi procurar. É com esse modelo que o resto do artigo compara os outros casos.

## A piada: as citações de Futurama no Slashdot

Durante anos, toda resposta do slashdot.org trazia um header a mais, chamado `X-Fry`, `X-Bender` ou `X-Lrrr`, como os personagens de Futurama, e o valor era uma fala da série, sorteada a cada requisição. Não havia outro propósito além do próprio público: um site lido por gente que roda `curl` em tudo, mandando uma piada exatamente para essa gente. O levantamento de headers escondidos do How-To Geek começava por ele, e havia no commandlinefu um comando de uma linha só para buscar uma citação nova. É a forma mais pura do gênero, sem segundas intenções.

## Os convites: X-hacker e X-Hi-Human

Duas empresas usaram o mesmo canal para recrutar. A Automattic, que opera o WordPress.com e a hospedagem WordPress VIP usada pelos seus clientes maiores, já enviou um header `X-hacker` com vários textos. O mais conhecido convida a visitar a página de vagas da empresa e a se candidatar "to join the fun, mention this header"; o mais curto diz "Want root? Visit join.a8c.com and mention this header". Os engenheiros da Wikimedia viram o header no próprio blog, que era hospedado no VIP, e abriram um ticket para perguntar do que se tratava. A equipe de Production Infrastructure do Airbnb enviava `X-Hi-Human: The Production Infrastructure team added this header. Come work with us!` junto com o endereço de um engenheiro para candidaturas, o que Troy Hunt registrou em março de 2015 num texto sobre mensagens de recrutamento escondidas em sites.

A lógica faz sentido e é até um pouco lisonjeira. Quem inspeciona os headers de resposta de uma plataforma de blogs é justamente o tipo de pessoa que a plataforma pode querer contratar, e o "mention this header" permite saber por onde o candidato chegou. O mais simpático dos dois ainda começa dizendo oi.

## O diagnóstico bem-humorado: x-nananana

O Batcache é o cache de página inteira da Automattic para WordPress, apoiado no memcached. O arquivo-fonte dele começa com o comentário `nananananananananananananananana BATCACHE!!!`, e as instalações em produção respondem com um header chamado `x-nananana`, cujo valor informa o estado do cache: `Batcache-Hit` quando a página saiu do cache. A Pressable, uma empresa de hospedagem montada sobre a mesma stack, orienta os clientes a procurar exatamente esse header para confirmar que o cache está funcionando. É um header de diagnóstico de verdade que, por acaso, também é uma piada, o tipo mais raro de todos: ele merece o lugar que ocupa na resposta.

## Os códigos de status: 418 e 451

A tradição chegou duas vezes ao próprio padrão. A RFC 2324, o Hyper Text Coffee Pot Control Protocol, foi publicada em 1º de abril de 1998 por Larry Masinter; a seção 2.3.2 diz que qualquer tentativa de fazer café num bule de chá deve resultar no código de erro 418 "I'm a teapot", e que o corpo da resposta pode ser baixinho e atarracado (short and stout). O código nunca fez parte do HTTP de verdade, mas frameworks web o implementaram por diversão. Quando o chair (o coordenador) do grupo de trabalho do HTTP questionou se valia a pena mantê-lo, em agosto de 2017, veio a campanha Save 418: Node.js, Go, ASP.NET e a biblioteca Requests mantiveram o código, e alguém apresentou uma proposta para reservar o 418, para que nada mais pudesse usar esse número. O [verbete 418](https://ronutz.com/pt-BR/glossary/teapot-418) do glossário conta a história completa.

A RFC 7725 é a séria. Publicada em fevereiro de 2016 e escrita por Tim Bray, ela define o código de status 451 "Unavailable For Legal Reasons", para quando o acesso a um recurso é negado por causa de uma exigência legal; assim, um bloqueio determinado por um tribunal ou por um governo pode ser diferenciado de um 403 comum. O número é uma homenagem proposital a Fahrenheit 451, o romance de Ray Bradbury sobre a queima de livros, e os agradecimentos da RFC terminam com "Thanks also to Ray Bradbury." É um código oficial, da standards track (a trilha de padronização), com uma função real; a referência literária ficou escrita no próprio documento.

## O que os bons exemplos têm em comum

Três coisas. Não custam nada a quem lê: alguns bytes no overhead, nenhuma mudança na página, nenhum pop-up. São verdadeiros: uma homenagem real, uma vaga real, um cache hit real, um código de status real. E são feitos para quem vai olhar, o que, na web, quer dizer quem lê headers e que, por isso, ganha uma pequena recompensa por um hábito que vale a pena ter. Uma mensagem escondida que falha em qualquer um desses três pontos (um banner que ninguém pediu, uma credencial falsa, uma piada mirada em quem nunca vai vê-la) não faz parte dessa tradição, por mais esperta que seja.

## Como ler os headers

Qualquer cliente HTTP que mostre os headers de resposta serve. O `curl -I https://example.com/` mostra a linha de status e os headers de uma requisição HEAD; o `curl -sD - -o /dev/null https://example.com/` faz o mesmo com um GET, o que faz diferença nos servidores que respondem ao HEAD de outro jeito. No navegador, o painel de rede das ferramentas de desenvolvedor lista os headers de todas as respostas. O [analisador de headers de segurança](https://ronutz.com/pt-BR/tools/secure-headers) deste site lê um bloco de headers que você cola e explica os que importam para a segurança; o resto do bloco é onde ficam os easter eggs. O [construtor de comandos curl](https://ronutz.com/pt-BR/tools/curl-command-builder) monta as formas com `-I` e com `-D`, com cada flag explicada.

## Os headers deste site

Desde outubro de 2026, toda resposta deste site traz duas linhas nessa tradição: `X-Clacks-Overhead: GNU Terry Pratchett`, porque vale a pena aderir à homenagem e ela não custa nada, e um segundo header, `X-Collective`, cujo valor afirma um fato sobre como o site é feito: aqui, boas ideias são assimiladas, com as suas fontes. O segundo é uma piada sobre o método, e o método existe de verdade: o changelog registra de onde veio cada ideia adotada, e o colofão diz isso com todas as letras. Os dois headers são definidos na configuração do host estático, ao lado dos headers de segurança, e por isso saem com toda página e todo arquivo. A resistência é inútil; a atribuição é obrigatória.

Desde 5 de outubro de 2026 há uma terceira linha, e ela muda a cada requisição. Toda página HTML deste site traz um header com o nome de um personagem e uma fala dele como valor: `X-Fry`, `X-Bender`, `X-Farnsworth`, `X-Hypnotoad` e `X-Lrrr`, de Futurama, na tradição do próprio Slashdot; `X-Doh`, `X-Cowabunga`, `X-Eat-My-Shorts`, `X-Excellent`, `X-Okily-Dokily` e `X-Worst-Ever`, de Os Simpsons; `X-Tegridy`, `X-Chef`, `X-Authoritah`, `X-Mmkay`, `X-Timmy` e `X-Underpants-Gnomes`, de South Park, entre uns quarenta e seis nomes e cinquenta e seis falas. O conjunto de falas é um pequeno arquivo JSON no repositório, em que cada entrada identifica o personagem e a série, e a fala é sorteada a cada resposta pelo Worker que roda na edge e serve as páginas. É por isso que ela aparece nas páginas, e não nas folhas de estilo nem nas imagens: uma piada feita para quem roda `curl -I` em tudo não tem leitores entre os arquivos de fonte. Pergunte duas vezes e você recebe duas respostas diferentes, que era todo o mecanismo do Slashdot, refeito em quarenta linhas. No build, o conjunto passa por uma verificação da única coisa que importa: o nome do header precisa ser um token e o valor precisa ser ASCII puro; senão, a piada quebraria a página que a carrega.

## Fontes

- [A wiki L-Space, "GNU Terry Pratchett": os códigos dos clacks G, N e U de Going Postal, a origem no Reddit de esconder o texto GNU em cabeçalhos de sites, e os adotantes incluindo o texto de abertura 338 do Minecraft (Java Edition 1.8.5)](https://wiki.lspace.org/GNU_Terry_Pratchett)
- [Boing Boing, 15 de março de 2015, "Sending Terry Pratchett home with HTTP headers": as configurações de Apache e Nginx transmitindo X-Clacks-Overhead: GNU Terry Pratchett](https://boingboing.net/2015/03/15/sending-terry-pratchett-home-w.html)
- [IT Pro, 17 de março de 2015, "How Reddit ensured Sir Terry Pratchett's name lives on": administradores acrescentando o cabeçalho, a extensão de Chrome e o plugin de WordPress](https://itpro.com/server/24238/how-reddit-ensured-sir-terry-pratchetts-name-lives-on)
- [How-To Geek, "Stupid Geek Tricks: Find Hidden Messages in Web Site Headers": as citações de Futurama em X-Fry, X-Bender e X-Lrrr do Slashdot e outros cabeçalhos escondidos](https://www.howtogeek.com/6499/stupid-geek-tricks-find-hidden-messages-in-web-site-headers/)
- [commandlinefu, "slashdot.org webserver adds an X-Bender or X-Fry HTTP header to every response"](https://www.commandlinefu.com/commands/view/1608/gets-a-random-futurama-quote-from-.)
- [http.dev, "X-Hacker": o cabeçalho de recrutamento da Automattic e suas redações](https://http.dev/x-hacker)
- [Wikimedia Phabricator T70982: o cabeçalho X-hacker visto em blog.wikimedia.org](https://phabricator.wikimedia.org/T70982)
- [Troy Hunt, 31 de março de 2015, "Deconstruct websites, get hired": o cabeçalho X-Hi-Human do Airbnb e o gênero das mensagens de recrutamento](https://troyhunt.com/deconstruct-websites-get-hired-hiding)
- [Base de conhecimento da Pressable, "How does Batcache page caching work": o cabeçalho de resposta x-nananana Batcache-Hit](https://pressable.com/knowledgebase/how-does-batcache-page-caching-work/)
- [Automattic/batcache, advanced-cache.php: o comentário no código-fonte que dá nome ao cabeçalho](https://github.com/Automattic/batcache/blob/master/advanced-cache.php)
- [RFC 2324, Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0), 1 de abril de 1998, seção 2.3.2](https://www.rfc-editor.org/rfc/rfc2324)
- [save418.com: a proposta de agosto de 2017, os frameworks que mantiveram o 418 e a proposta de reserva](https://save418.com/)
- [RFC 7725, An HTTP Status Code to Report Legal Obstacles, fevereiro de 2016, com seu agradecimento a Ray Bradbury](https://www.rfc-editor.org/rfc/rfc7725)
- [RFC 6648, Deprecating the "X-" Prefix and Similar Constructs in Application Protocols, junho de 2012](https://www.rfc-editor.org/rfc/rfc6648)
