冬言響 / 日記

アメコミとか映画とか音楽とか猫とか単車とか自転車とか革とか銀とかジーンズとかブーツとか今日喰ったものとか。

RSS2.0

blogram 登録

まあ良くあるブログランキング系だと思うのだけど、Seesaa ブログの管理画面に広告が出てて、なんか新しいサービスのようだったしなんとなく登録。

しようとしたのだけど、最初出来なかった。新規登録はまずブログの URI を入れて、そこからタイトルとかフィード URI とかが解析されて必要なら修正入れて、他のユーザー情報とか入れて、って流れ。なのだけど、最初の段階で「ブログタイトルが取得できませんでしたので、入力してください。」「RSSのURLが取得できませんでしたので、入力してください。」と言われて、その場合直接入力も出来るのだけど、入れても駄目だった。

んでちゃんと登録されてる他のブログとかと HTTP ヘッダやらなんやらを見比べてみたところ、ウチはフィードの URI を

<link rel="alternate" type="application/rss+xml" title="冬言響更新情報" href="/rss.rdf" />

という具合で仮想パスで書いてたのだけど、だいたい既成のブログサービスなんかは「http://?」から絶対パスで書いてるので、それに倣ってみたら通った。

仕様的にはフィードの URI は別に絶対パスだろうが相対パスだろうが仮想パスだろうが構わんと思うのだけど、余所のサーバーのリソースを取得して解析なんてことをするようなアプリケーション側がそこら辺ちゃんと対応してなければ「ただ /rss.rdf とか言われてもどこの /rss.rdf なのか判んねー Yo!」ってことになる訳で、絶対パスで指定しとく方が無難てことなんだろうか。ちょろっと調べてみた限りでは、例えば更新 Ping なんかもこちらから送るのはサイトのタイトルと URI ぐらいで、送信すると先方のロボットがこっちに来てフィードの URI なんかを解析して云々する訳なのだけど、そのときにフィードの URI が絶対パスで記述されてないとちゃんと解析して貰えないことがあるとかなんとか、なんぞのブログソフトウェアの FAQ 的なページに書いてあるのが見つかったりした。

フィードが取得出来なかったからってタイトルも取得出来ないとか直接入力しても弾かれるとかってのがまた良く判らんのだが、まあ登録出来たから良いか。

一応ブログランキングとも併せてサイドバー領域にバナーを置いてみたのだが、やっぱ記事の末尾に表示するようにした方が良いんかね。

追記。お、これまで Goo ブログへの更新 Ping 送信へのレスポンスが、flerror は 1 なのにメッセージが「Thanks for the ping.」というちぐはぐな状態だったのが、フィードを絶対パスにして送信したら flerror も 0 になりよった。

てか Ping 送ったらリアルタイムで即座に取得しに来てるのか。受信した内容をストックしといて定期的にクロールしに来てて、だから Ping に対するレスポンスも送信内容のみに対してのもの、とそう思ってていろいろ調べてた訳なのだけど、フィード URI の記述の仕方が問題だったとわ。いやはや。

追記 2。まあでもアレかあ。rel="alternate" 即ち文書の別バージョンなのだから、元の文書は取得せずに URI だけ予めストックしておいてダイレクトにそっちを取りに行くアプリケーションてのも考え得る訳で、であれば絶対パスで書いておいた方が色々と都合は良いのか。絶対パスで書いておかないと取得出来ないアプリケーションてのもそれはそれでアレな仕様な気はするが。

フィードとかの代替文書の URI は一応絶対パスで書いておく。んで、それを取得して云々なアプリケーションを作る場合は相対パスとかで書いてある場合も考慮に入れる。両方やる。覚悟は良いか? 俺は出来てる。別につらくはないが。謎。