web-dev-qa-db-ja.com

favicon.icoの正しいMIMEタイプ?

Internet Assigned Numbers Authority(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ファイルの「タイプ」を含めなくても問題ないことはわかっていますが、1つ含める場合は、どのタイプにする必要がありますか?実際に公式のIANAタイプとして提供するのに問題はありますか?

129
Chuck Le Butt

ファビコンとして使用される.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でも同じで、すべてのブラウザで動作します。

注:MIMEタイプimage/x-iconのIANA仕様はないため、image/vnd.Microsoft.iconよりも少し非公式であるように見えます。

違いがある唯一のケースは、<img>タグで.icoファイルを使用しようとした場合です(これは非常に珍しいことです)。以前のテストに基づいて、一部のブラウザは.icoファイルがMIMEタイプimage/x-iconで提供された場合にのみ画像として表示します。最近のテストでは、Chromium、Firefox、Edgeはどちらのコンテンツタイプでも問題ありませんが、IE11はそうではありません。可能であれば、icoファイルを画像として使用しないように、pngを使用してください。

156
mata

この混乱の原因は this ウィキペディアの記事で十分に説明されていると思います。

ICOファイルのIANA登録MIMEタイプはimage/vnd.Microsoft.iconですが、2003年にサードパーティによってIANAに送信され、代わりにimage/x-iconを使用するMicrosoftソフトウェアによって認識されません。

ICO形式の発明者でさえ公式のMIMEタイプを使用しない場合は、image/x-iconも使用します。

25

type="image/vnd.Microsoft.icon"を使用すると、ブラウザがインターネットに接続されていないときにファビコンが表示されないことに気付きました。ただし、type="image/x-icon"は、ブラウザがインターネットに接続できるかどうかにかかわらず機能します。開発中、時々インターネットに接続していません。

2
kmcc