トラックバックの解説に挑戦してみる

tommyさんの「tommy'sいいかげん日記」より
http://www.doblog.com/weblog/myblog/9282?YEAR=2004&MONTH=5&DAY=30

それにしても「トラックバック」という機能を考えた場合、サイトによってやり方が異なるちゅうのはいかがなもんか?

ごもっとも。trackbackってなに?つう話はだいぶ浸透してきたような気がする。

「あるblogに書いてある記事について関連する記事を書いた場合にtrackbackを送る事によって相手のサイトに自分がその記事を書いたことを知らせる機能。」

で、その仕組みはというと・・・

送り側のサーバーは受け側のblogのあるサーバーに「trackback ping」と呼ばれる情報を送りつける。
ざっくりこんな情報

1)これはトラックバックですよという宣言
2)自サイトのサイト名、文字コード
3)自サイトに書いた記事のタイトル、URL、本文
4)相手の記事のトラックバック用URL

で受け取ったサーバーは何をするかと言うと・・・
受け取った2)、3)の情報を4)を元に該当記事のtrackback表示エリアに追加してやるわけです。

さて、ここで2つの問題が生じてきます。
1)どうやってこのtrackback情報を作成するか。(送り手側の問題)
2)どうやって受け取った情報を該当記事のものだと認識するか(受け手側の問題)

blogと一口に言ってもそれぞれのblogで内部技術(というか記事の保存の仕方)は様々です。
そのため、上記の情報を作る方法はそのblogシステムのデータ構造や記述言語によって変わってきます。
受け手側もしかり・・・

だからdoblogさんの場合は
doblog.com/weblog/TrackBackServlet/123456
といった表に出てこない記事のシリアルナンバーで4)のURLを表現し
はてなの場合は
d.hatena.ne.jp/hatenaID/YYYYMMDDtrackback
というID+日付で該当記事を認識するといった違いが出てきてしまうんですね。

で、どちらもtrackbackという文字列をURL内に入れる事でtrackbackURLであることを明示的にさせているという点では共通してます。

うーむ、わかりやすく表現できているだろうか・・・