Jenis MIME yang benar untuk favicon.ico?


140

Menurut Otoritas Angka yang Ditugaskan Internet (IANA), semua file .ico berada di bawah tipe MIME image/vnd.microsoft.icon. ( Sumber )

Misalnya <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />

Namun, guru internet yang cerdas, Paul Irish , mengklaim ini salah, dan memang itu yang terjadi image/x-icon. ( Sumber )

Misalnya <link rel="icon" type="image/x-icon" href="favicon.ico" />

Saya tahu Anda bisa lolos dengan tidak memasukkan "jenis" untuk file .ico, tetapi jika Anda akan memasukkan satu, yang mana yang seharusnya? Apakah sebenarnya ada masalah dengan melayani sebagai tipe IANA resmi?


Catatan hati-hati: favicon.icofile mungkin bukan file ".ico" yang sebenarnya. Situs perusahaan saya menggunakan png (bernama "favicon.ico") dan menyajikannya dengan tipe "image / png". Melayani dengan salah satu dari jenis ".ico" yang disebutkan di sini KEDUA salah, karena menyebabkan browser salah menafsirkan!
Dan H

Jawaban:


171

Saat Anda menyajikan file .ico untuk digunakan sebagai favicon, tidak masalah. Semua browser utama mengenali kedua tipe mime dengan benar. Jadi Anda bisa meletakkan:

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

atau sama dengan image/vnd.microsoft.icon , dan itu akan berfungsi dengan semua browser.

Catatan: Tidak ada spesifikasi IANA untuk tipe MIME image/x-icon, jadi sepertinya sedikit lebih tidak resmi daripadaimage/vnd.microsoft.icon .

Satu-satunya kasus di mana ada perbedaan adalah jika Anda mencoba menggunakan file .ico di <img>tag (yang sangat tidak biasa). Berdasarkan pengujian sebelumnya, beberapa browser hanya akan menampilkan file .ico sebagai gambar ketika disajikan dengan tipe MIME image/x-icon. Tes yang lebih baru menunjukkan: Chromium, Firefox dan Edge baik-baik saja dengan kedua jenis konten, IE11 tidak. Jika Anda bisa, hindari menggunakan icofile sebagai gambar, gunakan png.


Saya tidak memilih apa pun di mana pun, saya mencoba menjelaskan dua usecases: 1 - digunakan sebagai favicon (tidak masalah tipe mime), 2 - digunakan sebagai img dalam halaman web (IE hanya menampilkannya dengan benar dengan mimetype image / x -icon).
mata

Anda berkata, Anda dapat menggunakan file .ico <img src=''>asalkan disajikan sebagai gambar / x-gambar oleh server web. Anda kemudian mengatakan jika Anda akan menggunakan file .ico sebagai gambar di halaman HTML, Anda harus mengatur tipe MIME menjadi image / x-icon .
Chuck Le Butt

Bagus. Setidaknya itu masuk akal sekarang! Saya tidak begitu tertarik untuk menyajikan file .ico sebagai gambar di dalam situs web. Pertanyaannya secara khusus tentang penggunaan file .ico sebagai favicons. Jika Anda mengulangi jawaban Anda, itu akan jauh lebih membantu. Terima kasih.
Chuck Le Butt

Menurut wikipedia, image / x-icon baru saja dibuat oleh Microsoft, image / vnd.microsoft.icon terdaftar di IANA (tetapi tidak didaftarkan oleh Microsoft sendiri).
mjaggard

10
FWIW, Google menggunakan image / x-icon untuk favicon mereka .
NateS

30

Saya pikir root untuk kebingungan ini juga dijelaskan dalam ini artikel wikipedia.

Sementara jenis MIME yang didaftarkan IANA untuk file ICO adalah image / vnd.microsoft.icon, itu dikirimkan ke IANA pada tahun 2003 oleh pihak ketiga dan tidak dikenali oleh perangkat lunak Microsoft, yang menggunakan ikon gambar / x sebagai gantinya.

Jika bahkan penemu format ICO tidak menggunakan jenis MIME resmi, saya akan menggunakan image/x-iconjuga.


3
Akhirnya sebuah jawaban! Namun itu masih tipe MIME terdaftar IANA ... bahkan jika Microsoft sendiri tidak menggunakannya. Aneh.
Chuck Le Butt

3

Saya perhatikan bahwa ketika menggunakan type="image/vnd.microsoft.icon", favicon gagal muncul ketika browser tidak terhubung ke internet. Tetapi type="image/x-icon"berfungsi apakah browser dapat terhubung ke internet, atau tidak. Saat berkembang, kadang-kadang saya tidak terhubung ke internet.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.