WebサイトのFeedのMIME types

主にapplication/xmlからapplication/rdf+xmlへの変遷について調べたことを書きます。
一方で、application/rss+xmlやapplication/atom+xmlについてはあまり触れません。

現在よく使われているもの

  • application/atom+xml
  • application/rss+xml
  • application/rdf+xml
  • application/xml

application/rdf+xmlの仕様策定と登録

RFC3023において、XMLで記述されたRDFに対してはapplication/rdf+xmlを使うべきとされた。RDF/XMLの仕様書にて、RDF/XMLのMIME typeにはapplication/rdf+xmlを使うべきとされた。RFC3870において、application/rdf+xmlの登録についての仕様が公開された。しかしこの時点においてapplication/rdf+xmlは未だIANAに登録されておらず、登録されるまでは使うべきではないとされていた。

http://www.w3.org/TR/rdf-syntax-grammar/
http://www.ietf.org/rfc/rfc3023.txt
http://www.ietf.org/rfc/rfc3870.txt

当時のUser-Agentの対応

application/rdf+xmlが登録されていなかった時期においては、Internet ExplorerやMozilla等のUser-Agentもapplication/rdf+xmlに対応していなかった。例えばRSSをapplication/rss+xmlの形式のデータを閲覧しようとすると、ダウンロードのダイアログが表示されていた。

当時のサイト側の対応

現実的な対応として、一般的なXML文書を表すapplication/xmlを利用するサイトが多かった。当時既にFeedの需要は高まっており、ページのHTMLからFeedのURLを自動で検出する機能、所謂RSS Auto Discoveryと呼ばれる機能を実装しているUser-Agentも存在していた。そこで、HTTPヘッダにはaplication/xmlを利用し、RSS Auto Discoveryの為のlink要素にはapplication/rdf+xmlやapplication/rss+xmlを利用する、という対応を行うサイトも少なくなかった。

現在のMIME typesの登録状況

RFC2046において、MIME typesはIANAによって割り当てられるべきとされている。IANAのWebサイトから、現在登録されているMIME typesが確認できる。application/xml、appication/rdf+xml、appication/atom+xmlが登録されていることが分かるが、一方でRSSが利用してきた application/rss+xml というMIME typeは登録されていないことが分かる。
http://www.iana.org/assignments/media-types

調査のモチベーション

  1. 人類がGoogle Reader終了の報を受ける
  2. OSSのFeed Reader用Webアプリ fastladderの開発がここ1週間程で急に盛り上がりを見せる
  3. ワイングラスを傾けながら眺めるもいつの間にか開発に携わる
  4. URLを渡すとFeedのURLを返すRfeedfinderというライブラリが渋いのでめっちゃ適当に書き直す
  5. Pull Requestを受けて真面目に考え始める https://github.com/fastladder/feed_searcher/pull/1