Um MIME type é um rótulo curto que indica o formato de um arquivo, como image/jpeg para uma foto JPG. MIME significa Multipurpose Internet Mail Extensions. O nome oficial hoje é media type, então você geralmente vê os dois termos.
Quando você lê os metadados de um arquivo, o MIME type informa qual formato o arquivo tem. Navegadores e programas de e-mail usam esse rótulo para decidir como abrir, exibir ou reproduzir o arquivo.
Como é o valor
Um MIME type tem 2 partes, um tipo e um subtipo, com uma barra entre eles e sem espaços. O tipo indica a categoria geral de dados e o subtipo indica o formato exato. Em image/jpeg, o tipo é image e o subtipo é jpeg.
A lista oficial de tipos da IANA tem 11 entradas: application, audio, example, font, haptics, image, message, model, multipart, text e video. O tipo example é apenas para uso em exemplos, portanto nenhum formato é registrado nele.
Letras maiúsculas e minúsculas significam a mesma coisa, mas MIME types geralmente são escritos em minúsculas. Um parâmetro pode vir depois de um ponto e vírgula. Por exemplo, text/plain;charset=UTF-8 marca um arquivo de texto simples que usa o conjunto de caracteres UTF-8.
Valores típicos
Aqui estão formatos comuns e seus MIME types na web:
- Foto JPG:
image/jpeg - Imagem PNG:
image/png - Documento PDF:
application/pdf - Áudio MP3:
audio/mpeg - Vídeo MP4:
video/mp4 - Texto simples:
text/plain - Documento Word (DOCX):
application/vnd.openxmlformats-officedocument.wordprocessingml.document
O vnd. no início do subtipo do Word indica um formato de fornecedor, um formato ligado a um produto publicamente disponível. Um sufixo após um sinal de mais indica o formato subjacente. image/svg+xml é baseado em XML e application/epub+zip é um arquivo ZIP.
Um arquivo JPG pode ter uma de várias extensões, como .jpg, .jpeg ou .jpe, mas ele tem apenas um MIME type: image/jpeg. A lista oficial de media types da IANA não tem nenhuma entrada chamada image/jpg.
De onde vem o valor
Os MIME types surgiram com o e-mail. O primeiro padrão MIME, RFC 1341, foi lançado em junho de 1992. Com MIME, o e-mail pôde transportar outros conjuntos de caracteres, conteúdo não textual como imagens e mensagens em várias partes.
Hoje o RFC 2045, de novembro de 1996, define a linha Content-Type que descreve o conteúdo de uma mensagem. Sites enviam o mesmo tipo de rótulo no cabeçalho Content-Type de cada arquivo. A Internet Assigned Numbers Authority (IANA) mantém a lista oficial de media types.
Para encontrar o formato, um programa pode analisar a extensão do nome do arquivo ou os primeiros bytes do arquivo. A extensão é apenas parte do nome do arquivo, e nada garante que ela esteja correta. Muitos formatos começam com um padrão fixo de bytes, chamado de magic number, mas nem todos fazem isso.
Quais arquivos o carregam
Um relatório de metadados pode mostrar um MIME type para muitos tipos de arquivo: uma foto, uma música, um vídeo ou um documento. O ExifTool, um leitor de metadados comum, lista o valor como MIMEType no seu grupo File. O mesmo grupo contém o tipo de arquivo e a extensão do tipo de arquivo.
Alguns formatos também carregam um MIME type dentro do arquivo. Um e-book EPUB deve começar com um pequeno arquivo chamado mimetype que contém application/epub+zip. Na tag ID3 de um arquivo MP3, uma imagem anexada informa seu próprio formato, como image/jpeg ou image/png.
Por que isso é importante
Navegadores usam o MIME type, não a extensão do arquivo, para decidir como lidar com um arquivo da web. Com o rótulo errado, uma página pode não funcionar e o navegador pode tratar um download de forma incorreta.
Quando um site não reconhece um tipo de arquivo, ele geralmente envia application/octet-stream, que significa dados binários desconhecidos. Os navegadores então oferecem salvar o arquivo em vez de abri-lo.