O tipo MIME 'image / jpg' é o mesmo que 'image / jpeg'?

341

Pergunta bastante simples, mas não consigo encontrá-la em nenhum lugar on-line. Estou tentando criar um programa que, dependendo do tipo de arquivo, me dê a extensão.

Joe Scotto
fonte
10
AFAIK existe apenas o tipo "image / jpeg" freeformatter.com/mime-types-list.html#mime-types-list
Dale
Deve haver confusão tarde da noite então. Vou tentar com "image / jpeg".
21415 Joe

Respostas:

493

Não, image/jpgnão é o mesmo que image/jpeg, apenas image/jpegé reconhecido como o tipo de mímica real para arquivos JPEG.

Veja https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/ .

Exibir o tipo de conteúdo incorreto image/jpgno IE pode causar problemas, consulte http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm .

Adrian Baker
fonte
3
O que devemos colocar em nossos mime.types? image/jpeg jpeg jpg;image/jpg jpeg jpg;
5137 cyber8200
40
Apenas imagem / jpeg
James Bone
O principal problema causado por isso é que o Safari abrirá um link de imagem na Visualização, em vez de na janela do navegador, porque considera um tipo de imagem desconhecido (o que tecnicamente é).
Peter Flynn
16

Para aqueles que podem ajudar, eu uso essa lista como uma referência para definir meu tipo de conteúdo quando tiver que lidar com imagens no meu aplicativo.

Diz que a extensão jpg pode ser declarada com Content-type : image/jpeg

Não há nenhum image/jpgatributo para o tipo de conteúdo.

lucyjosef
fonte
7

tl; dr as "normas" são uma bagunça miscelânea; depende de quem você pergunta!

No geral, parece não haver tipo MIME image/jpg. No entanto, na prática, quase todo o software lida com arquivos de imagem " *.jpg" muito bem.
Este tópico específico é confuso porque a associação variável da extensão de nome de arquivo associada a um tipo MIME depende de qual organização criou a tabela de extensões de nome de arquivo para tipos MIME. Em outras palavras, a extensão do nome do arquivo .jpgpode ser muitas coisas diferentes.

Por exemplo, aqui estão três "listas completas" e uma RFC que varia em torno de várias extensões de nome de arquivo no formato de imagem JPEG e os tipos MIME associados.

Essas "listas completas" e o RFC não têm o tipo MIME image/jpg! Mas para MIME digite image/jpegalgumas listas que têm diferentes extensões de nome de arquivo ( .jpeg, .jpg...). Outras listas não mencionam image/jpeg.
Além disso, existem diferentes tipos de formatos de imagem JPEG s (por exemplo , formato Progressive JPEG Image , JPEG 2000 , etc) e "Extensões JPEG" que podem ou não se sobrepor na extensão do nome do arquivo e no tipo MIME declarado.
Outra coisa confusa é que a RFC 3745 parece não corresponder aos tipos de mídia da IANA, mas a RFC 3745 deve informar o documento sobre os tipos de mídia da IANA . Por exemplo, na RFC 3745 .jpfé a extensão de arquivo preferida para, image/jpxmas nos tipos de mídia da IANA, o nome jpfnão está presente (e esse documento da IANA faz referência à RFC 3745 !).
Outra coisa confusa é que os tipos de mídia da IANA listam "nomes", mas não listam "extensões de nome de arquivo". Isso é proposital, mas confunde o esforço de mapear extensões de nome de arquivo para tipos MIME.
Outra coisa confusa: é " mime " ou " MIME " ou " tipo MIME " ou " tipo mime " ou " mime / tipo " ou " tipo de mídia "⁉ 😧

O documento aparentemente oficial da IANA é surpreendentemente inadequado. Nenhum tipo MIME está registrado para a extensão do arquivo, no .jpgentanto, existe o ímpar vnd.sealedmedia.softseal.jpg. A extensão do arquivo .JPEGé conhecida apenas como um videotipo, enquanto a extensão do arquivo .jpegé um tipo de imagem (quando as letras maiúsculas e minúsculas começaram a ser importantes !?). Ao mesmo tempo, jpeg2000é tipo videoainda RFC 3745 considera JPEG 2000 um imagetipo! A lista da IANA parece atender aos formatos jpeg específicos da empresa (por exemplo vnd.sealedmedia.softseal.jpg).

Devido às confusões anteriores, é difícil encontrar um documento canônico aceito pelo setor que mapeie extensões de nome de arquivo para tipos MIME, principalmente para o formato de arquivo de imagem JPEG.



Pergunta relacionada " Lista de TODOS os MimeTypes do planeta, mapeados para extensões de arquivo? ".

JamesThomasMoon1979
fonte
geralmente há apenas UMA fonte descrevendo o padrão referente, não 4 (!). RFC é um bom ponto de entrada!
simUser
4

O importante a ser observado aqui é que o tipo mime não é o mesmo que a extensão do arquivo. Às vezes, no entanto, eles têm o mesmo valor.

https://www.iana.org/assignments/media-types/media-types.xhtml inclui uma lista de tipos MIME registrados, embora não haja nada impedindo você de criar o seu próprio, desde que você esteja no envio e o fim do recebimento. Aqui é onde a Microsoft entra em cena.

Onde há muita confusão, é o fato de os sistemas operacionais terem sua própria maneira de identificar os tipos de arquivo usando o final do nome do arquivo, conhecido como extensão. Nos sistemas operacionais modernos, o nome inteiro é uma cadeia longa, mas em sistemas operacionais mais primitivos, é tratado como um atributo separado.

O SO que causou a confusão é o MSDOS, que limitou a extensão a 3 caracteres. Essa limitação é herdada até hoje em dispositivos, como cartões SD, que ainda armazenam dados da mesma maneira.

Um efeito colateral dessa limitação é que algumas extensões de arquivo, como .gifo tipo Mime image/gif, e outras são comprometidas. Isso inclui image/jpegcuja extensão está reduzida .jpg. Mesmo no Windows moderno, onde a limitação é levantada, a Microsoft nunca deixa de lado o passado e, portanto, a extensão do arquivo ainda é a versão reduzida.

Dado que isso:

  1. Extensões de arquivo não são tipos de arquivo
  2. Historicamente, alguns sistemas operacionais tinham sérias limitações de nome de arquivo
  3. Alguns sistemas operacionais simplesmente seguem em frente e criam suas próprias regras

A resposta curta é:

  • Tecnicamente, não existe image/jpg, então a resposta é que não é o mesmo queimage/jpeg
  • Isso não impedirá que alguns sistemas operacionais e softwares o tratem como se fosse o mesmo

Enquanto estamos nisso ...

As versões herdadas do Internet Explorer tiveram a liberdade de fazer upload de jpegarquivos com o Mime Type de image/pjpeg, o que, é claro, significa apenas mais trabalho para todos os outros. Eles também enviaram pngarquivos como image/x-png.

Manngo
fonte