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


140

Згідно з даними IANA (International Assigned Numbers Authority ), усі файли .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?


Зверніть увагу: favicon.icoфайли можуть бути неправдивими ".ico" файлами. Мій корпоративний сайт використовує png (з назвою "favicon.ico") і подає його з типом "image / png". Обслуговування його з будь-яким із типів ".ico", згаданих тут, було НЕ помилковим, оскільки спричинило неправильне тлумачення браузера!
Dan H

Відповіді:


171

Коли ви подаєте .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.


Я ніде нічого не вибирав, я намагався пояснити два випадки використання: 1 - використовується як favicon (неважливо, який тип mime), 2 - використовується як img у веб-сторінці (IE відображає це правильно лише з зображенням mimetype / x -ікон).
мата

Ви говорите, ви можете використовувати .ico файли, <img src=''>якщо веб-сервер їх подає як image / x-image . Потім ви скажете, якщо ви збираєтесь використовувати .ico-файли як зображення на сторінках HTML, ви повинні встановити тип MIME на зображення / x-icon .
Чак Ле Бут

Чудово. Принаймні, це має сенс зараз! Мені не дуже цікаво подавати .ico файли як зображення на веб-сайті. Питання стосується конкретно використання файлу .ico як фавікон. Якщо ви перефразовуєте свою відповідь, це було б набагато корисніше. Дякую.
Чак Ле Бут

Згідно з Вікіпедією, зображення / x-icon щойно склав Microsoft, image / vnd.microsoft.icon зареєстровано в IANA (але не зареєстровано самим Microsoft).
міджард

10
FWIW, Google використовує зображення / x-значок для своїх фаворитів .
NateS

30

Я думаю, корінь цієї плутанини добре пояснений у цій статті з вікіпедії.

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

Якщо навіть винахідник формату ICO не використовує офіційний тип MIME, я також використовуватиму image/x-icon.


3
Нарешті відповідь! Однак це все-таки тип MIME, зареєстрований IANA ... навіть якщо Microsoft сам не використовує його. Дивно.
Чак Ле Батт

3

Я помітив, що при використанні type="image/vnd.microsoft.icon" фавікон не з’являється, коли браузер не підключений до Інтернету. Але type="image/x-icon"працює, чи може браузер підключитися до Інтернету, чи ні. Під час розвитку я часом не підключаюся до Інтернету.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.