Tipo MIME corretto per favicon.ico?


140

Secondo Internet Assigned Numbers Authority (IANA), tutti i file .ico rientrano nel tipo MIME image/vnd.microsoft.icon. ( Fonte )

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

Tuttavia, un esperto guru di Internet, Paul Irish , afferma che questo è sbagliato e che in realtà lo sarebbe image/x-icon. ( Fonte )

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

So che puoi evitare di non includere un "tipo" per i file .ico, ma se dovessi includerne uno, quale dovrebbe essere? In realtà ci sono problemi nel servirlo come tipo IANA ufficiale?


Nota di attenzione: i favicon.icofile potrebbero non essere file ".ico" veri. Il mio sito aziendale utilizza un png (chiamato "favicon.ico") e lo serve con il tipo "image / png". Servirlo con uno dei tipi ".ico" menzionati qui era ENTRAMBE sbagliato, poiché causava un'interpretazione errata del browser!
Dan H,

Risposte:


171

Quando offri un file .ico da utilizzare come favicon, non importa. Tutti i principali browser riconoscono correttamente entrambi i tipi di mime. Quindi potresti mettere:

<!-- 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 stesso con image/vnd.microsoft.icone funzionerà con tutti i browser.

Nota: non esiste una specifica IANA per il tipo MIME image/x-icon, quindi sembra che sia un po 'più non ufficiale di image/vnd.microsoft.icon.

L'unico caso in cui c'è una differenza è se stavi cercando di usare un file .ico in un <img>tag (che è piuttosto insolito). Sulla base dei test precedenti, alcuni browser visualizzavano i file .ico come immagini solo quando venivano offerti con il tipo MIME image/x-icon. Test più recenti mostrano: Chromium, Firefox e Edge vanno bene con entrambi i tipi di contenuto, IE11 no. Se puoi, evita di usare i icofile come immagini, usa png.


Non ho scelto nulla da nessuna parte, ho cercato di spiegare i due casi d'uso: 1 - usato come favicon (non importa quale tipo di mimo), 2 - usato come img all'interno della pagina web (IE lo visualizza correttamente solo con mimetype image / x -icona).
mata,

Dici che puoi usare i file .ico a <img src=''>condizione che siano serviti come image / x-image dal server web. Dici quindi che se utilizzerai i file .ico come immagini nelle pagine HTML, dovresti impostare il tipo MIME su image / x-icon .
Chuck Le Butt,

Grande. Almeno ha senso adesso! Tuttavia, non mi interessa davvero pubblicare file .ico come immagini all'interno di un sito Web. La domanda riguarda in particolare l'utilizzo del file .ico come favicon. Se riformuli la tua risposta, sarebbe molto più utile. Grazie.
Chuck Le Butt,

Secondo Wikipedia, image / x-icon è stata appena creata da Microsoft, image / vnd.microsoft.icon è registrata con IANA (ma non registrata da Microsoft stessa).
mjaggard,

10
FWIW, Google utilizza image / x-icon per la sua favicon .
NateS,

30

Penso che la radice di questa confusione sia ben spiegata in questo articolo di Wikipedia.

Mentre il tipo MIME registrato IANA per i file ICO è image / vnd.microsoft.icon, è stato inviato a IANA nel 2003 da una terza parte e non è riconosciuto dal software Microsoft, che utilizza invece image / x-icon.

Se anche l'inventore del formato ICO non utilizza il tipo MIME ufficiale, lo userò image/x-iconanch'io.


3
Finalmente una risposta! Tuttavia è ancora il tipo MIME registrato IANA ... anche se Microsoft non lo utilizza. Strano.
Chuck Le Butt,

3

Ho notato che quando si utilizza type="image/vnd.microsoft.icon", favicon non viene visualizzato quando il browser non è connesso a Internet. Ma type="image/x-icon"funziona se il browser può connettersi a Internet o meno. Durante lo sviluppo, a volte non sono connesso a Internet.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.