¿Es el tipo MIME 'image / jpg' lo mismo que 'image / jpeg'?

Respuestas:

493

No, image/jpgno es lo mismo image/jpeg, solo image/jpegse reconoce como el tipo mime real para archivos JPEG.

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

Servir el tipo de contenido incorrecto image/jpga IE puede causar problemas, consulte http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm .

Adrian Baker
fuente
3
¿Qué deberíamos colocar en nuestros mime.types? image/jpeg jpeg jpg;image/jpg jpeg jpg;
cyber8200
40
Only image / jpeg
James Bone
El principal problema causado por esto es que Safari abrirá un enlace de imagen en Vista previa en lugar de en la ventana del navegador porque cree que es un tipo de imagen desconocido (que técnicamente es).
Peter Flynn el
16

Para aquellos a los que podría ayudar, uso esta lista como referencia para definir mi tipo de contenido cuando tengo que lidiar con imágenes en mi aplicación.

Dice que la extensión jpg se puede declarar con Content-type : image/jpeg

No hay ningún image/jpgatributo para el tipo de contenido.

lucyjosef
fuente
7

tl; dr los "estándares" son un desastre hodge-podge; ¡depende a quién le preguntes!

En general, no parece haber ningún tipo MIME image/jpg. Sin embargo, en la práctica, casi todo el software maneja bien los archivos de imagen llamados " *.jpg".
Este tema en particular es confuso porque la asociación variable de la extensión de nombre de archivo asociada a un tipo MIME depende de qué organización creó la tabla de extensiones de nombre de archivo para los tipos MIME. En otras palabras, la extensión de nombre de archivo .jpgpodría ser muchas cosas diferentes.

Por ejemplo, aquí hay tres "listas completas" y un RFC que varían alrededor de varias extensiones de nombre de archivo en formato de imagen JPEG y los tipos MIME asociados.

¡Estas "listas completas" y RFC no tienen el tipo MIME image/jpg! Pero para MIME escriba image/jpegalgunas listas no tienen diferentes extensiones de nombre de archivo ( .jpeg, .jpg, ...). Otras listas no mencionan image/jpeg.
Además, hay diferentes tipos de formatos de imagen JPEG (por ejemplo , formato de imagen JPEG progresivo , JPEG 2000 , etc.) y "Extensiones JPEG" que pueden superponerse o no en la extensión del nombre de archivo y el tipo MIME declarado.
Otra cosa confusa es que RFC 3745 no parece coincidir con los tipos de medios de IANA, pero se supone que RFC 3745 informa el documento de tipos de medios de IANA . Por ejemplo, en RFC 3745 .jpfes la extensión de archivo preferida para, image/jpxpero en los tipos de medios de IANA, el nombre jpfno está presente (¡y ese documento de la IANA hace referencia a RFC 3745 !).
Otra cosa confusa es que los tipos de medios de IANA enumeran "nombres" pero no enumeran "extensiones de nombre de archivo". Esto es a propósito, pero confunde el esfuerzo de asignar extensiones de nombre de archivo a tipos MIME.
Otra cosa confusa: es " mime ", o " MIME ", o " tipo MIME ", o " tipo mime ", o " mime / type ", o " tipo de medio "⁉ 😧

El documento aparentemente más oficial de IANA es sorprendentemente inadecuado. No se ha registrado ningún tipo MIME para la extensión de archivo, .jpgpero existe un valor impar vnd.sealedmedia.softseal.jpg. La extensión de archivo .JPEGsolo se conoce como videotipo, mientras que la extensión de archivo .jpeges un tipo de imagen (¿cuándo empezaron a importar las letras minúsculas y mayúsculas?). Al mismo tiempo, jpeg2000es tipo videopero RFC 3745 considera que JPEG 2000 es un imagetipo. La lista de la IANA parece adaptarse a los formatos jpeg específicos de la empresa (p vnd.sealedmedia.softseal.jpg. Ej .).

Debido a las confusiones anteriores, es difícil encontrar un documento canónico aceptado por la industria que asigne extensiones de nombre de archivo a tipos MIME, particularmente para el formato de archivo de imagen JPEG.



Pregunta relacionada "¿ Lista de TODOS los MimeTypes en el planeta, asignados a Extensiones de archivo? ".

JamesThomasMoon1979
fuente
por lo general, solo hay UNA fuente que describe el estándar correspondiente, no 4 (!). ¡RFC es un buen punto de entrada!
simUser
4

Lo importante a tener en cuenta aquí es que el tipo mime no es el mismo que la extensión del archivo. A veces, sin embargo, tienen el mismo valor.

https://www.iana.org/assignments/media-types/media-types.xhtml incluye una lista de tipos Mime registrados, aunque no hay nada que te impida inventar el tuyo, siempre y cuando estés en el envío. y el extremo receptor. Aquí es donde Microsoft entra en escena.

Donde hay mucha confusión es el hecho de que los sistemas operativos tienen su propia forma de identificar los tipos de archivos mediante el uso del final del nombre del archivo, denominado extensión. En los sistemas operativos modernos, el nombre completo es una cadena larga, pero en los sistemas operativos más primitivos, se trata como un atributo separado.

El sistema operativo que causó la confusión es MSDOS, que había limitado la extensión a 3 caracteres. Esta limitación se hereda hasta el día de hoy en dispositivos, como las tarjetas SD, que aún almacenan datos de la misma manera.

Un efecto secundario de esta limitación es que algunas extensiones de archivo, como por ejemplo, .gifcoinciden con su Tipo Mime image/gif, mientras que otras están comprometidas. Esto incluye image/jpegcuya extensión se acorta a .jpg. Incluso en Windows moderno, donde se levanta la limitación, Microsoft nunca deja pasar el pasado, por lo que la extensión del archivo sigue siendo la versión abreviada.

Dado que eso:

  1. Las extensiones de archivo no son tipos de archivo
  2. Históricamente, algunos sistemas operativos tenían serias limitaciones de nombre de archivo
  3. Algunos sistemas operativos simplemente seguirán adelante y crearán sus propias reglas

La respuesta corta es:

  • Técnicamente, no existe tal cosa image/jpg, por lo que la respuesta es que no es lo mismo queimage/jpeg
  • Eso no impedirá que algunos sistemas operativos y software lo traten como si fuera el mismo

Mientras estamos en eso ...

Las versiones heredadas de Internet Explorer se tomaron la libertad de cargar jpegarchivos con Mime Type of image/pjpeg, lo que, por supuesto, solo significa más trabajo para todos los demás. También cargaron pngarchivos como image/x-png.

Manngo
fuente