Tipo MIME correcto para favicon.ico?

140

Según la Autoridad de Números Asignados de Internet (IANA), todos los archivos .ico pertenecen al tipo MIME image/vnd.microsoft.icon. ( Fuente )

P.ej <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />

Sin embargo, el experto gurú de Internet, Paul Irish , afirma que esto está mal y que en realidad lo estaría image/x-icon. ( Fuente )

P.ej <link rel="icon" type="image/x-icon" href="favicon.ico" />

Sé que puede salirse con la suya sin incluir un "tipo" para archivos .ico, pero si fuera a incluir uno, ¿cuál debería ser? ¿Existe realmente algún problema para servirlo como tipo oficial de IANA?

Chuck Le Butt
fuente
Nota de precaución: los favicon.icoarchivos pueden no ser verdaderos archivos ".ico". Mi sitio corporativo utiliza un png (llamado "favicon.ico") y lo sirve con el tipo "image / png". Servirlo con cualquiera de los tipos ".ico" mencionados aquí fue AMBOS incorrecto, ¡ya que hizo que el navegador malinterpretara!
Dan H

Respuestas:

171

Cuando sirve un archivo .ico para usarlo como favicon, no importa. Todos los principales navegadores reconocen ambos tipos de mimo correctamente. Entonces podrías poner:

<!-- IE -->
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<!-- other browsers -->
<link rel="icon" type="image/x-icon" href="favicon.ico" />

o lo mismo con image/vnd.microsoft.icon, y funcionará con todos los navegadores.

Nota: No existe una especificación IANA para el tipo MIME image/x-icon, por lo que parece que es un poco más no oficial que image/vnd.microsoft.icon.

El único caso en el que hay una diferencia es si estaba tratando de usar un archivo .ico en una <img>etiqueta (lo cual es bastante inusual). Según las pruebas anteriores, algunos navegadores solo mostraban archivos .ico como imágenes cuando se servían con el tipo MIME image/x-icon. Pruebas más recientes muestran: Chromium, Firefox y Edge están bien con ambos tipos de contenido, IE11 no. Si puede, simplemente evite usar icoarchivos como imágenes, use png.

mata
fuente
No elegí nada en ninguna parte, traté de explicar los dos casos de uso: 1 - usado como favicon (no importa qué tipo de mime), 2 - usado como img dentro de la página web (IE solo lo muestra correctamente con mimetype image / x -icono).
mata
Usted dice que puede usar archivos .ico <img src=''>siempre que el servidor web los sirva como image / x-image . Luego dice que si va a usar archivos .ico como imágenes en páginas HTML, debe establecer el tipo MIME en image / x-icon .
Chuck Le Butt
Excelente. ¡Al menos tiene sentido ahora! Sin embargo, no estoy realmente interesado en servir archivos .ico como imágenes dentro de un sitio web. La pregunta es específicamente sobre el uso del archivo .ico como favicons. Si reformula su respuesta, eso sería mucho más útil. Gracias.
Chuck Le Butt
De acuerdo con Wikipedia, image / x-icon fue creado por Microsoft, image / vnd.microsoft.icon está registrado en IANA (pero Microsoft no lo ha registrado).
mjaggard
10
FWIW, Google usa image / x-icon para su favicon .
Nates
30

Creo que la raíz de esta confusión está bien explicada en este artículo de Wikipedia.

Si bien el tipo MIME registrado por IANA para archivos ICO es image / vnd.microsoft.icon, fue enviado a IANA en 2003 por un tercero y no es reconocido por el software de Microsoft, que utiliza en su lugar image / x-icon.

Si incluso el inventor del formato ICO no usa el tipo MIME oficial, yo también lo image/x-iconusaré.

Jürgen Steinblock
fuente
3
Finalmente una respuesta! Sin embargo, sigue siendo el tipo MIME registrado por IANA ... incluso si Microsoft no lo usa. Extraño.
Chuck Le Butt
3

He notado que cuando se usa type="image/vnd.microsoft.icon", el favicon no aparece cuando el navegador no está conectado a Internet. Pero type="image/x-icon"funciona si el navegador puede conectarse a Internet o no. Al desarrollar, a veces no estoy conectado a internet.

kmcc
fuente