RSSリーダーや他のスクレイパーとの互換性を確保するために、1つのMIMEタイプが望ましいですか?
オプションは次のようです:
- text / xml
- text / rss + xml
興味深いことに、Stackoverflowはtext / htmlを使用しています。
RSSリーダーや他のスクレイパーとの互換性を確保するために、1つのMIMEタイプが望ましいですか?
オプションは次のようです:
興味深いことに、Stackoverflowはtext / htmlを使用しています。
回答:
どちらでもない。それはhttp://www.rssboard.org/rss-mime-type-application.txtですapplication/rss+xml
text/xml
。
他のコメンターは、単一の正しいMIMEタイプはであると指摘していますapplication/rss+xml,
。
ただし、クライアントにAcceptヘッダーを設定している場合は、
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、およびXML(降順または優先順)を受け入れると記載されているので、これは良い選択かもしれません。
q
パラメータで示されるため、目的の効果を得るには送信する方がよいでしょうAccept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
。つまり、「フィードには正しいMIMEタイプのいずれかを優先しapplication/xml
ます。それを提供できない場合は、優先してください。提供できない場合は、好むtext/xml
。ちょうどあなたが「持っているものを私に与えて、それ以外の場合
Accept
以下の私の回答で推奨される両方のヘッダーの形式と人気のあるフィードの例を試しましたが、すべて返されましたtext/xml
。私は、コマンドを使用: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
実際の答えは次のとおりです。「正しい」答えが何であれ(そして、これについては明らかに議論があります)は、実際に普及text/xml
しているほとんどすべてのフィードで使用されているタイプです。
ここに私がチェックしたいくつかがあります:
$ 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
そのtext/xml
ため、一般的に使用されているRSSクライアントによって正しく解釈されます。
最も正しいのはapplication/rss+xml
最も互換性があるのはapplication/xml
W3Cによると:
RSSフィードはapplication / rss + xmlとして提供する必要があります(RSS 1.0はRDF形式であるため、代わりにapplication / rdf + xmlとして提供される場合があります)。Atomフィードはapplication / atom + xmlを使用する必要があります。あるいは、広く展開されているWebブラウザーとの互換性のために、これらのフィードはいずれも、より一般的なXMLタイプの1つ(できればapplication / xml)を使用できます。
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
フィードがRSSリーダーやその他のスクレイパーと互換性があることを確認したい場合は、MIME application / rss + xmlが安全であることを確認してください。それが私が使うものです。
あなたは可能性が使用しtext/xml
ますが、正しいMIMEタイプは次のようになりますapplication/rss+xml
。
application/xml
text/xml
XMLは通常のテキストコンテンツのエンコードルールに従っていないため、推奨されます。データにエンコードを埋め込むことができるため、プロキシが盲目的にテキストをトランスコードしようとすると問題が発生します。言い換えると、プロキシはデータをバイト単位で保存するように指示されます。
正しい答えはtext / xmlだけです。MIMEタイプは登録ベースのシステムです。IANA(Internet Assigned Numbers Authority)が管理する公式リストは、http://www.iana.org/assignments/media-types/media-types.xhtmlにあります。