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


по словам Интернет Назначил Номера Власти (IANA), все .ICO файл попадает под тип MIME image/vnd.microsoft.icon. (источник)

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

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

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

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

3 112

3 ответа:

когда вы служите .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. Более поздние тесты показывают: Chromium, Firefox и Edge отлично подходят для обоих типов контента, IE11-нет. Если вы можете, просто избегайте использования ico файлов в виде изображений, используйте png.

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

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

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

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