Simulador interativo do protocolo HTTP
O protocolo HTTP é baseado em texto puro. Passe o mouse sobre cada parte para entender o que ela significa.
Embora as mensagens HTTP sejam texto legível por humanos, na prática o corpo (body) quase sempre trafega comprimido na rede. Os headers negociam isso automaticamente entre cliente e servidor.
Monte uma requisição HTTP e veja como ela seria formatada. A simulação mostra a mensagem raw exatamente como trafega pelo protocolo.
MIME (Multipurpose Internet Mail Extensions) é o padrão que diz ao receptor
como interpretar o conteúdo de uma mensagem. No HTTP, o header
Content-Type
carrega o tipo MIME da requisição ou resposta. Sem ele, o browser ou servidor precisaria
"adivinhar" o formato — o que leva a erros de renderização, falhas de segurança e comportamentos imprevisíveis.
Cada tipo MIME segue a estrutura tipo/subtipo,
com parâmetros opcionais como charset.
Existe também o tipo especial */* (wildcard),
usado no header Accept para indicar que qualquer formato é aceito.
O header Content-Type é usado tanto na requisição (para dizer ao servidor como interpretar o body enviado) quanto na resposta (para dizer ao cliente como interpretar o body recebido). Já o header Accept, enviado pelo cliente, lista os tipos MIME que ele consegue processar — o servidor usa isso para fazer content negotiation e escolher o melhor formato de resposta.
| Tipo MIME | Extensões | Descrição & Uso | Onde aparece |
|---|
q= é o fator de qualidade (0 a 1).
O servidor prioriza os tipos com maior q-value — text/html
tem prioridade máxima (q=1 implícito), */* é o fallback.
Vary: Accept indica que a resposta
varia conforme o Accept do cliente — importante para caches não entregarem o tipo errado.
MIME Sniffing e Segurança: Quando o servidor omite o Content-Type,
browsers tentam "adivinhar" o tipo pelo conteúdo — isso se chama MIME sniffing.
Isso é perigoso: um arquivo malicioso enviado como text/plain
pode ser executado como HTML/JS. O header
X-Content-Type-Options: nosniff
instrui o browser a nunca sobrescrever o Content-Type declarado.
Seleção de documentações oficiais, ferramentas, vídeos e livros para você ir além do protocolo e entender como a web realmente funciona.
httpbin.org e observe os headers reais na resposta.