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