Um navegador decide como tratar um arquivo pela cabecalho Content-Type: o tipo errado faz a página ser baixada em vez de renderizada, ou bloqueia uma fonte que deveria carregar. Uma tabela de consulta mantém a resposta à mão sem sair do navegador. A Busca de Tipos MIME traz uma tabela estática de 125 linhas que mapeia extensões para tipos MIME e categorias, com busca, filtro por categoria e exportação CSV, tudo no cliente, sem enviar nada.
125 linhas, 5 categorias
A tabela guarda 125 entradas em 5 categorias: 26 Text, 16 Image, 11 Audio, 12 Video e 60 Application, que cobrem 124 extensões distintas porque .ts aparece duas vezes. Somando o comprimento de todas as strings de tipo, a tabela pesa 2.098 caracteres. Cada linha mostra a extensão em fonte monoespaçada, o tipo e um selo de categoria colorido. A caixa de busca faz uma coincidência de subcadeia sem diferenciar maiúsculas sobre a extensão e a string MIME, e se combina com os filtros de categoria.
5 recursos numa página
Uma página típica serve app.js, data.csv, logo.png, film.mp4 e font.woff2. Cinco buscas dão text/javascript sob Text, text/csv sob Text, image/png sob Image, video/mp4 sob Video e font/woff2 sob Application. O selo e a família MIME nem sempre coincidem: .mjs e .cjs levam text/javascript mas estão em Application, enquanto .svg é image/svg+xml e vive em Text.
A busca coincide subcadeias nos dois campos
Digitar image devolve 19 linhas, não as 16 linhas da categoria Image, porque .svg está em Text e .dmg junto com .iso estão em Application, mas suas strings de tipo contêm a palavra image. Digitar mp devolve 9 linhas, incluindo .bmp porque bmp contém mp, .ts através de video/mp2t, e .rar junto com .7z através da palavra compressed em x-rar-compressed. Digitar ts devolve 8 linhas, e .docx, .xlsx e .pptx aparecem porque seus longos tipos de escritório terminam em formats.
O choque de .ts e 16 tipos compartilhados
O choque de .ts é o único da tabela: devolve video/mp2t, o fluxo de transporte MPEG sob Video, e text/typescript sob Application, que é a razão pela qual 125 linhas cobrem apenas 124 extensões. Dezesseis tipos são compartilhados por várias extensões: text/plain cobre 5 (.txt, .ini, .cfg, .log, .env), text/javascript cobre 4 (.js, .jsx, .mjs, .cjs), image/jpeg cobre 2. O tipo mais longo tem 73 caracteres (.pptx), o mais curto 8 (text/css, text/xml, text/csv). Para arquivos de imagem a dúvida costuma ser a dimensão e o formato, que o Visualizador de Informações da Imagem informa, e um re-encodamento com o Compressor de Imagens de png para webp muda o tipo que se deve declarar.
43 tipos x- de vendor não registrados
Quarenta e três das 125 linhas usam o prefixo x- de vendor: video/x-matroska, application/x-rar-compressed, image/x-icon, text/x-sql. São padrões de fato que nunca foram registrados na IANA, mas todos os navegadores e servidores os respeitam, enquanto o núcleo registrado (image/png, video/mp4, application/json) permanece estável. Quando a extensão mente, a resposta honesta está nos bytes: o Conversor Hex UTF-8 Base64 mostra os bytes magic que revelam o contêiner real.
Para onde vai a string de tipo
Depois de obtida, a string entra numa configuração de servidor, num cabeçalho de API ou num data URI. O Codificador/Decodificador Base64 monta URIs data:image/png;base64 cujo prefixo de tipo vem direto desta tabela. O Conversor CSV para JSON transforma o mime-types.csv exportado num mapa JSON para o código. O Formatador JSON valida a carga que viaja com Content-Type application/json. Para o lado text/html de uma página web padrão, veja a guia de formatação HTML.