What is the correct MIME type to use for an RSS feed?
Is one MIME type preferable to ensure compatibility with RSS readers and other scrapers?
The options seem to be:
- text/xml
- text/rss+xml
Interestingly Stackoverflow is using text/html.
Neither. It's application/rss+xml
http://www.rssboard.org/rss-mime-type-application.txt
Other commenters have pointed out that the single correct mime type is application/rss+xml,
.
However, if you are setting an accept header for a client then
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
might be a good choice, as it states that it accepts RSS, Atom, and XML (in descending order or preference).
Here's a pragmatic answer: whatever the "correct" answer may be (and clearly there is debate about this), text/xml
is the type used by pretty much all the popular feeds out there in the wild.
Here are a few that I checked:
$ 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 you can be sure that text/xml
will be correctly interpreted by commonly used RSS clients.
The most correct is application/rss+xml
The most compatible is application/xml
According to W3C:
RSS feeds should be served as application/rss+xml (RSS 1.0 is an RDF format, so it may be served as application/rdf+xml instead). Atom feeds should use application/atom+xml. Alternatively, for compatibility with widely-deployed web browsers, any of these feeds can use one of the more general XML types - preferably application/xml.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html