Ist ein MIME-Typ vorzuziehen, um die Kompatibilität mit RSS-Readern und anderen Scrapern zu gewährleisten?
Die Optionen scheinen zu sein:
Interessanterweise verwendet Stackoverflow Text/HTML.
Weder. Es ist application/rss+xml
http://www.rssboard.org/rss-mime-type-application.txt
Andere Kommentatoren haben darauf hingewiesen, dass der einzige richtige Mime-Typ application/rss+xml,
ist.
Wenn Sie jedoch einen Accept-Header für einen Client setzen, dann
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
eine gute Wahl, da angegeben wird, dass RSS, Atom und XML (in absteigender Reihenfolge oder Voreinstellung) akzeptiert werden.
Hier ist eine pragmatische Antwort: Was auch immer die "richtige" Antwort sein mag (und natürlich gibt es eine Debatte darüber), text/xml
ist der Typ, den ziemlich viele alle die populären Feeds da draußen in freier Wildbahn verwenden.
Hier einige, die ich überprüft habe:
$ 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
So können Sie sicher sein, dass text/xml
von häufig verwendeten RSS-Clients korrekt interpretiert wird.
Richtig ist application/rss+xml
Kompatibel ist application/xml
Laut W3C:
RSS-Feeds sollten als application/rss + xml bereitgestellt werden (RSS 1.0 ist ein RDF-Format , Daher kann es stattdessen als application/rdf + xml dienen). Atom Feeds sollten application/atom + xml verwenden. Alternativ für Kompatibilität mit weit verbreiteten Webbrowsern, alle diese Feeds kann einen der allgemeineren XML-Typen verwenden - vorzugsweise Anwendung/XML.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
Gehen Sie für MIME-Anwendung/rss + xml , um sicherzugehen, dass Ihr Feed mit RSS-Readern und anderen Scrapern kompatibel ist. Das ist was ich benutze.
Sie könnten verwenden text/xml
, aber der richtige MIME-Typ wäre application/rss+xml
.