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タイプとして提供するのに問題はありますか?
ファビコンとして使用される.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
を使用してください。
この混乱の原因は this ウィキペディアの記事で十分に説明されていると思います。
ICOファイルのIANA登録MIMEタイプはimage/vnd.Microsoft.iconですが、2003年にサードパーティによってIANAに送信され、代わりにimage/x-iconを使用するMicrosoftソフトウェアによって認識されません。
ICO形式の発明者でさえ公式のMIMEタイプを使用しない場合は、image/x-icon
も使用します。
type="image/vnd.Microsoft.icon"
を使用すると、ブラウザがインターネットに接続されていないときにファビコンが表示されないことに気付きました。ただし、type="image/x-icon"
は、ブラウザがインターネットに接続できるかどうかにかかわらず機能します。開発中、時々インターネットに接続していません。