RSS okuyucuları ve diğer sıyırıcılarla uyumluluğu sağlamak için bir MIME türü tercih edilir mi?
Seçenekler şöyle görünüyor:
- text / xml
- text / rss + xml
İlginç bir şekilde Stackoverflow, text / html kullanıyor.
RSS okuyucuları ve diğer sıyırıcılarla uyumluluğu sağlamak için bir MIME türü tercih edilir mi?
Seçenekler şöyle görünüyor:
İlginç bir şekilde Stackoverflow, text / html kullanıyor.
Yanıtlar:
Ne. Bu var http://www.rssboard.org/rss-mime-type-application.txtapplication/rss+xml
text/xml
.
Diğer yorumcular, tek doğru mime türünün olduğuna işaret ettiler application/rss+xml,
.
Ancak, bir müşteri için bir kabul başlığı ayarlıyorsanız,
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
RSS, Atom ve XML (azalan sırayla veya tercihle) kabul ettiğini belirttiğinden iyi bir seçim olabilir.
q
parametre ile belirtilmiştir , bu nedenle istenen efekt için göndermek daha iyi olacaktır Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
, bu da "Yayınlar için doğru MIME türlerinden herhangi birini tercih edin application/xml
. Bunu sunamıyorsanız tercih edin . Bunu sunamazsanız , tercih et text/xml
. Aksi takdirde, bana sahip olduğunu ver "
Accept
başlıkların her ikisini de aşağıdaki cevabımda popüler yayın örnekleriyle denedim ve hepsi geri döndü text/xml
. Şu komutu kullandım: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
İşte pragmatik bir cevap: "doğru" cevap ne olursa olsun (ve bununla ilgili tartışmalar var), vahşi doğada text/xml
neredeyse tüm popüler yayınların kullandığı türdür .
İşte kontrol ettiğim birkaç tanesi:
$ 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
Böylece text/xml
, yaygın olarak kullanılan RSS istemcileri tarafından doğru şekilde yorumlanacağından emin olabilirsiniz .
En doğru isapplication/rss+xml
En uyumlu olanıapplication/xml
W3C'ye göre:
RSS beslemeleri application / rss + xml olarak sunulmalıdır (RSS 1.0 bir RDF formatıdır, bu nedenle bunun yerine application / rdf + xml olarak sunulabilir). Atom beslemeleri application / atom + xml kullanmalıdır. Alternatif olarak, yaygın olarak kullanılan web tarayıcılarıyla uyumluluk için, bu beslemelerden herhangi biri daha genel XML türlerinden birini, tercihen application / xml'yi kullanabilir.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
Feed'inizin RSS okuyucuları ve diğer kazıyıcılarla uyumlu olduğundan emin olmak istiyorsanız güvenli olması için MIME application / rss + xml'ye gidin. Ben öyle kullanıyorum.
Sen olabilir kullanmak text/xml
, ancak doğru MIME türü olacaktır application/rss+xml
.
application/xml
text/xml
XML normal metin içeriği kodlama kurallarına uymadığı için tercih edilir . Vekillerin metni körü körüne dönüştürmeye çalışması durumunda, kodlamasını verilerinin içine gömebilir. Başka bir deyişle, proxy'lere veri baytını bayt için koruma talimatı verilir.
text / xml tek doğru cevaptır. Mime türleri kayıt tabanlı bir sistemdir. Http://www.iana.org/assignments/media-types/media-types.xhtml adresinde IANA (İnternet Tahsisli Sayılar Otoritesi) tarafından yönetilen resmi bir liste bulunmaktadır.