web http mime content-type server browser dev-tech file-extensions

Guia de Referência Completo de Tipos MIME e Content-Type

O que é um tipo MIME e por que ele é importante para servidores web e navegadores? Uma referência completa aos Content-Types mais comuns.

2026-04-11

Guia de Referência Completo de Tipos MIME e Content-Type

Sempre que o seu navegador solicita um arquivo de um servidor web, o servidor não envia apenas os bits e bytes. Ele também envia uma "etiqueta" que informa ao navegador que tipo de arquivo é. Essa etiqueta é chamada de Tipo MIME (Multipurpose Internet Mail Extensions), e é enviada através do cabeçalho HTTP Content-Type.

Se o servidor enviar o tipo MIME errado, o seu navegador pode tentar baixar um vídeo em vez de reproduzi-lo, ou pode se recusar a executar um script por motivos de segurança.


Tabela de Referência Rápida: Tipos MIME Comuns

Tipo MIME Extensão Comum Categoria Propósito
text/html .html, .htm Página Web Conteúdo de página web padrão
text/css .css Estilo Folhas de Estilo em Cascata (CSS)
application/javascript .js Lógica Scripts de aplicativos web
application/json .json Dados Dados estruturados para APIs
application/xml .xml Dados Linguagem de Marcação Extensível (XML)
text/csv .csv Dados Valores Separados por Vírgula (CSV)
image/webp .webp Mídia Formato de imagem compactado moderno
image/avif .avif Mídia Formato de imagem de alta eficiência
font/woff2 .woff2 Fonte Formato de fonte web moderno
application/wasm .wasm Compilado Código binário WebAssembly
application/octet-stream .bin, .exe Binário Dados binários genéricos (geralmente ativa o download)
multipart/form-data N/A Upload Usado para enviar formulários com uploads de arquivos

1. Dados Estruturados e APIs

Os aplicativos web modernos dependem fortemente desses tipos para trocar informações entre o frontend e o backend.

  • application/json: O padrão da indústria para APIs REST. É leve e suportado nativamente pelo JavaScript.
  • application/xml: Um formato mais antigo, mas mais poderoso, que suporta esquemas personalizados e validação complexa.
  • text/csv: Frequentemente usado para exportar grandes conjuntos de datos de bancos de dados ou planilhas.

2. Mídia e Ativos

Para garantir tempos de carregamento rápidos, os servidores devem identificar corretamente os formatos de mídia modernos de alta compactação.

  • image/webp & image/avif: Esses formatos modernos oferecem uma compactação muito melhor do que JPEG ou PNG. Se o seu servidor não enviar o tipo MIME correto, o navegador pode falhar ao renderizar a imagem corretamente.
  • font/woff2: Essencial para a tipografia web. A tipagem MIME correta garante que o navegador possa descompactar a fonte rapidamente.

3. Dados Especializados e Binários

  • application/wasm: Isso é necessário para que o WebAssembly funcione. Os navegadores são muito rigorosos — eles frequentemente se recusam a compilar um módulo WASM se o servidor não enviar explicitamente o Content-Type application/wasm.
  • application/octet-stream: Este é o "coringa" para dados binários. Se um servidor não sabe o que é um arquivo, ele geralmente define esse padrão. Os navegadores tratam isso como um sinal para baixar o arquivo em vez de tentar exibi-lo.

4. Formulários e Uploads

Quando você envia um formulário em um site, o navegador usa um tipo MIME específico para codificar sua entrada.

  • application/x-www-form-urlencoded: O padrão para formulários simples baseados em texto. Parece uma query string de URL (nome=Joao&idade=30).
  • multipart/form-data: Isso é necessário quando o seu formulário inclui um upload de arquivo. Ele permite que o navegador envie diferentes tipos de dados (texto e arquivos binários) em uma única solicitação, separados por "boundaries" (fronteiras).

Como verificar o tipo MIME de um arquivo

  • No Navegador: Abra o DevTools -> guia Network (Rede). Clique em uma solicitação e procure por "Content-Type" na seção Response Headers (Cabeçalhos de Resposta).
  • No Linux / macOS: Use o comando file com a flag --mime-type:
    file --mime-type -b minha-imagem.webp
    # Saída: image/webp
    

Perguntas Comuns (FAQ)

P: O que acontece se um servidor enviar o Content-Type errado?

R: Os navegadores frequentemente realizam "MIME Sniffing" para tentar adivinar o tipo correto. No entanto, por motivos de segurança (como proteção contra XSS), os navegadores modernos estão se tornando muito mais rigorosos. Se um script for enviado com text/plain em vez de application/javascript, a maioria dos navegadores se recusará a executá-lo.

P: application/javascript é o único tipo correto para arquivos JS?

R: Historicamente, as pessoas usavam text/javascript ou application/x-javascript. Embora application/javascript tenha sido a recomendação formal, o padrão mais recente voltou a preferir text/javascript. A maioria dos servidores e navegadores lida bem com ambos.

P: Por que recebo um erro "No 'Content-Type' header"?

R: Isso significa que o servidor não forneceu nenhuma informação sobre o tipo de arquivo. Os navegadores geralmente usarão como padrão text/plain ou application/octet-stream, o que pode fazer com que sua página seja renderizada incorretamente ou acione um download indesejado.


Ferramentas Relacionadas no Tool3M