Правильный MIME-тип для favicon.ico?

В соответствии с полномочиями присвоенных номеров Интернета (IANA) весь файл .ico попадает под тип MIME image/vnd.microsoft.icon. (Источник)

например. <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />

Однако опытный интернет-гуру, Paul Irish, утверждает, что это неправильно, и что на самом деле это будет image/x-icon. (Источник)

например. <link rel="icon" type="image/x-icon" href="favicon.ico" />

Я знаю, что вы можете уйти, не включая "тип" для файлов .ico, но если вы собираетесь включить его, то это должно быть? Существуют ли какие-либо проблемы с его обслуживанием как официальным типом IANA?

Ответ 1

Когда вы используете файл .ico для использования в качестве значка, это не имеет значения. Все основные браузеры правильно распознают типы mime. Поэтому вы можете поставить:

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

или то же самое с image/vnd.microsoft.icon, и он будет работать со всеми браузерами.

Примечание. Нет спецификации IANA для типа MIME image/x-icon, однако, похоже, что это немного более неофициально, чем image/vnd.microsoft.icon.

Единственный раз, когда это не так, если вы пытаетесь использовать файл .ico в теге <img> (что довольно необычно). Основываясь на моем тестировании, браузеры будут обслуживать только файлы .ico в виде изображений с типом MIME image/x-icon, поэтому всегда стоит помнить, как используемое вами программное обеспечение обрабатывает типы MIME, независимо от опубликованных спецификаций!

Ответ 2

Я думаю, что корень этой путаницы хорошо объяснен в этой статье в википедии.

Пока зарегистрированный IANA MIME-тип для ICO файлов image/vnd.microsoft.icon, он был представлен IANA в 2003 году третьим и не признается программным обеспечением Microsoft, которое использует image/x-icon.

Если даже изобретатель формата ICO не использует официальный MIME-тип, я также буду использовать image/x-icon.

Ответ 3

Я заметил, что при использовании type="image/vnd.microsoft.icon" favicon не появляется, когда браузер не подключен к Интернету. Но type="image/x-icon" работает, может ли браузер подключаться к Интернету или нет. При разработке, порой я не подключен к Интернету.