トラックバックの実装
このところ、諸事情で何となくブログなぞ作っております。トラックバックの仕様というのを今までよく理解していなかったんですが、いざ手を付けてみると思った以上に簡単で拍子抜け。
「トラックバックの送信」はPOSTでリクエスト送信するだけだし、「トラックバックの受信」はPOSTのリクエストを記録するだけ。
こんなに簡単な仕組みでこれだけWebの世界に影響を与えたというのは、改めてすごいものだと感心することしきりでございます。まぁ、実際にはSPAM対策を無視するわけにはいかんので、ちゃんと作ろうと思ったらある程度のボリュームにはなるんですが、本質的な部分はすごくシンプル。
仕様については、トラックバック技術仕様書として和訳が公開されています。
phpでトラックバックを実装する場合、PEARにServices_Trackbackも用意されています。柴犬ラボさんにドキュメントの和訳もあります。ただ、文字コードが全く考慮されていないことや、現在PEARからダウンロードできる0.6.1にはバグというか単純なプログラムの書き損じがあるようで、あまりよろしくはないかなという印象です。
具体的には397行目、
$req->addHeader("User-Agent", $this->_options['useragent']);
とあるんですが、これは
$req->addHeader("User-Agent", $options['useragent']);
が正しいはず。
今のところ、自前で実装ですね。