Apakah satu jenis MIME lebih disukai untuk memastikan kompatibilitas dengan pembaca RSS dan pencakar lainnya?
Pilihannya tampaknya:
- teks / xml
- teks / rss + xml
Menariknya Stackoverflow menggunakan teks / html.
Apakah satu jenis MIME lebih disukai untuk memastikan kompatibilitas dengan pembaca RSS dan pencakar lainnya?
Pilihannya tampaknya:
Menariknya Stackoverflow menggunakan teks / html.
Jawaban:
Tidak juga. Ini http://www.rssboard.org/rss-mime-type-application.txtapplication/rss+xml
text/xml
.
Komentator lain menunjukkan bahwa tipe mime yang benar adalah application/rss+xml,
.
Namun, jika Anda menetapkan header accept untuk klien, maka
Accept: application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4
mungkin merupakan pilihan yang baik, karena menyatakan menerima RSS, Atom, dan XML (dalam urutan atau preferensi menurun).
q
parameter , jadi untuk efek yang diinginkan akan lebih baik untuk mengirim Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
, yang berarti "Memilih salah satu jenis MIME yang benar untuk umpan. Jika Anda tidak dapat menawarkan itu, pilih application/xml
. Jika Anda tidak dapat menawarkan itu, lebih suka text/xml
. Kalau tidak, berikan saja apa yang kamu punya "
Accept
tajuk yang disarankan dengan contoh umpan populer dalam jawaban saya di bawah, dan semuanya kembali text/xml
. Saya menggunakan perintah:curl -s -H 'Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8' -H 'Content-Type: application/rss+xml' -I $f
Inilah jawaban pragmatis: apa pun jawaban yang "benar" (dan jelas ada perdebatan tentang ini), text/xml
adalah jenis yang digunakan oleh hampir semua umpan populer di luar sana di alam liar.
Berikut adalah beberapa yang saya periksa:
$ for f in \
https://feeds.feedburner.com/TechCrunch/ \
http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml \
http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml \
https://daringfireball.net/thetalkshow/rss \
http://www.npr.org/rss/podcast.php?id=381444908 \
http://feeds.serialpodcast.org/serialpodcast \
http://podcasts.joerogan.net/feed \
https://feeds.feedburner.com/thetimferrissshow \
http://feed.thisamericanlife.org/talpodcast ; do \
curl -s -I $f | fgrep -i Content-Type: ; done
content-type:text/xml; charset=UTF-8
Content-Type: text/xml
Content-Type: text/xml
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
content-type:text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
Jadi Anda bisa yakin bahwa itu text/xml
akan ditafsirkan dengan benar oleh klien RSS yang biasa digunakan.
Yang paling benar adalahapplication/rss+xml
Yang paling kompatibel adalahapplication/xml
Menurut W3C:
Umpan RSS harus disajikan sebagai aplikasi / rss + xml (RSS 1.0 adalah format RDF, sehingga dapat disajikan sebagai aplikasi / rdf + xml sebagai gantinya). Feed atom harus menggunakan aplikasi / atom + xml. Sebagai alternatif, untuk kompatibilitas dengan browser web yang digunakan secara luas, salah satu feed ini dapat menggunakan salah satu dari tipe XML yang lebih umum - lebih disukai aplikasi / xml.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
Gunakan aplikasi MIME / rss + xml agar aman jika Anda ingin memastikan umpan Anda kompatibel dengan pembaca RSS dan pengikis lainnya. Itu yang saya gunakan.
Anda bisa menggunakan text/xml
, tetapi tipe MIME yang benar adalah application/rss+xml
.
application/xml
lebih disukai text/xml
karena XML tidak mengikuti aturan pengkodean konten teks normal. Ini dapat menyematkan penyandiannya dalam datanya, yang akan menyebabkan masalah jika proksi mencoba membobol transkode teks. Dengan kata lain, proxy diperintahkan untuk menyimpan data byte-for-byte.
teks / xml adalah satu-satunya jawaban yang benar. Jenis pantomim adalah sistem berbasis registrasi. Ada daftar resmi yang dikelola oleh IANA (Internet Assigned Numbers Authority) di http://www.iana.org/assignments/media-types/media-types.xhtml