第5回 ウェブページへのフィードの導入
これまでの記事で、「RSS」と「Atom」についての概要を解説してきました。今回は「RSS」と「Atom」についての概要からさらに深く話しを進めて、ウェブページへのフィードの導入に関連する仕組みについて説明していきます。
解説:柳田 浩平(株式会社フィードフォース)
[プロフィール] やなぎた・こうへい●株式会社フィードフォース勤務。同社においてエンジニアとしてWebアプリケーションの開発に従事している。 |
RSS Auto DiscoveryでのRSS導入
フィードの書き方については、第3回で「RSSの仕様」、第4回では「Atomの仕様」を紹介しました。では、このフィードを公開するにあたって、「ウェブページに対応するフィードが存在する」ということをどのようにユーザに伝えたらいいのでしょうか?
フィードへのリンクを用意するというのが一つの方法です。例えばこの MdN Design Interactive のサイトでも、画面上に「RSS」というアイコンを使ってリンクを張られています。しかしながら、単純にリンクを用意するだけでは、人間がページを見る際にはいいかもしれませんが、プログラムで自動的にフィードを見つけるのは難しそうです。
例えば、RSS リーダにフィードを登録することを考えてみましょう。あるページを読んでいて、このページの更新を RSS リーダで追いたいと考えます。読者はそのページの中からフィードを探し出し、そのフィードを RSS リーダに登録します。
読者が興味があるのはあくまでページそのものであって、フィード自体ではありません。それなのに、いちいちフィードを探さなくてはいけないのは面倒ですね。そこで、ウェブページからRSSを自動的に検出するために「RSS Auto Discovery」という仕組みが利用されています。RSS Auto Discoveryは、HTMLのmeta要素の中に、【画像1】のようなタグを書くだけです。(href 属性の部分には、対象となる RSS の URL を記述します。title 属性も変更可能です)
【画像1】
?
これによって、ウェブページと RSS が関連付けられました。RSS Auto Discoveryに対応しているRSS リーダでは、フィードのかわりにページそのものの URL を指定してフィードを登録することができます。また、Firefox ではRSS Auto Discoveryに対応しているページにアクセスするとロケーションバーにアイコンが表示され、RSS を配信していることがわかるようになっています。
?
Firefoxでは、RSS Auto Discovery に対応しているページにアクセスするとロケーションバーにアイコンが表示される
?
Atomの導入に使うAtom Feed Autodiscovery
Atom の場合も RSS と同様に「Atom Feed Autodiscovery」という仕組みがあります。Atom Feed Autodiscoveryで記述するタグは、【図2】のようなものです。
?
【図2】
?
?
?
BlogのRSS機能であるweblogUpdates.ping
フィードが更新されたことを、フィードのユーザにはどのように通知したらよいのでしょうか? 通常は、フィードのユーザの側からフィードにアクセスがあり、前回取得時から更新されたかどうかを調べます。これとは逆に、フィードの提供者の側から更新を通知することもできます。
広く使われているPingの仕組みに「weblogUpdates.ping」というものがあります。これは、Ping を受けつける「Ping サーバ」に対して、HTTPのデータを送ることによって、ウェブページの更新通知をするというものです。
例えば、Pingを受けつけるサーバ型RSSリーダに対してPingを送ると、それによって RSSリーダはページの更新を知ることができるため、更新されたフィードの内容をより早く取り込むことが可能になります。多くのブログサービスでは、ブログの更新時にPingサーバにPingを送る機能が提供されています。
次回につづく