MIME types (Multipurpose Internet Mail Extensions) são identificadores que informam ao navegador o tipo de conteúdo de um arquivo enviado pelo servidor. Dominar as boas práticas de MIME types evita problemas de carregamento, vulnerabilidades de segurança e garante que seu site funcione corretamente em todos os navegadores. No [FerramentasGratis](/) você encontra uma consulta de MIME types com mais de 60 entradas, permitindo buscar por extensão, tipo ou descrição; a ferramenta foi planejada para uso direto no navegador, sem enviar dados para servidores.

O que sao MIME types e por que seguir boas praticas

MIME types sao definidos no cabecalho Content-Type da resposta HTTP. Eles dizem ao navegador se o arquivo e um documento HTML, uma imagem JPEG, um arquivo JavaScript, etc. Quando o MIME type esta incorreto, o navegador pode interpretar o conteudo de forma errada, exibindo texto puro onde deveria haver uma pagina estilizada ou ate mesmo abrindo um arquivo binario como texto.

Seguir boas praticas evita:

  • Paginas quebradas (CSS ou JS nao carregados corretamente)
  • Riscos de seguranca (como MIME sniffing ou execucao acidental de scripts maliciosos)
  • Perda de performance devido a negociacao de conteudo inadequada

Principais boas praticas de MIME types

1. Configure o Content-Type no servidor de forma explicita

Nao confie apenas na extensao do arquivo. No Apache, use AddType ou ForceType. No Nginx, use o bloco types. Em aplicacoes dinâmicas, defina o cabecalho via codigo PHP, Node.js ou outra linguagem.

2. Use tipos especificos e evite genericos

Para JavaScript, use application/javascript (e nao text/javascript, que e obsoleto). Para CSS, text/css. Para imagens PNG, image/png. O tipo genérico application/octet-stream deve ser reservado para arquivos binarios sem tipo definido; usa-lo para tudo força o download e impede a renderizacao correta.

3. Defina o charset em tipos textuais

Quando o MIME type comeca com text/, inclua o parametro charset, por exemplo text/html; charset=UTF-8. Isso evita problemas de acentuacao e interpretacao de codificacao.

4. Evite a sniffagem de MIME types

Adicione o cabecalho X-Content-Type-Options: nosniff. Esse cabecalho impede que o navegador "advinhe" o tipo do conteudo com base nos primeiros bytes do arquivo, forçando o uso do valor informado no Content-Type.

5. Valide o MIME type real em uploads de arquivos

Nunca confie apenas na extensao do arquivo enviado pelo usuario. Use bibliotecas que analisam os bytes do arquivo (como fileinfo no PHP ou magic bytes) para confirmar o