ブログ情報伝達を加速するトラックバック、ping:dev blog/CMS:ブログを支えるテクノロジー(3/5 ページ)
ブログの仕組みの中で、比較的理解しづらいと誰もが言うトラックバックやping。何気なく使うこの仕組みを理解すると、ブログアクセサリーや投稿画面の意味が理解でき、トラックバックスパム対策などにも活かせる。第1回はRSSについて。
最近では、商用サイトでもpingサーバを活用し、いわゆる広告塔の役割を持たせるところも増えている。
もちろんブログを更新していないにもかかわらず、更新pingを送り続けて自サイトが上位にくるようにするといったあからさまな不正をするのは良くないだろう。しかし、常識の範囲での更新情報は、pingサーバに伝えてこそ周知のものになるという密接な関係になっている。
トラックバックで自らのブログの言及投稿を伝える
冒頭で少し触れたように、ブログは、互いのブログ投稿に対して言及し合うことができる。その仕組みが「トラックバック」だ。言及した本文は、自らのサイト上に位置し、言及した事実だけを通知する、という機能になっている。このため、ブログ投稿ページそのものに書き込む「コメント」とどのような違いがあるのか? と迷うことがあるかもしれない。
ブログ投稿それぞれには、固有のトラックバックURLが割り当てられており、このURLに対してトラックバックping送信をすると、相手側のブログシステムは自動的にトラックバックのリンク表示を生成する。
たとえば、2005年5月1日で1つ目の投稿記事には「http://www.example.co.jp/myblog/20050501#01」、2つ目の記事には「http://www.example.co.jp/myblog/20050501#02」といったURLが割り当てられる(もちろんどのようなURL書式となるのかは、ブログシステムによって異なる)。このような、記事に対応したURLのことを特に「Permanent link」と呼ぶ。
他人(他システム)からのトラックバックを受け付けたい場合には、このPermanent linkと1対1で対応した「トラックバックping URL」というURLを用意することになる。
たとえば、「http://www.example.co.jp/myblog/20050501#01」というPermanent linkに対するトラックバックping URLとして「http://www.example.co.jp/myblog/trackback/20050501#01」といったURLを用意するのだ。Permanent linkとトラックバックping URLとは1対1で対応すればよく、URLの書式や名前は任意である(つまりブログシステムによって、書式が異なる)。
トラックバックping URLの正体は、トラックバックの通知を受信して処理するWebアプリケーションだ。
記事にコメントを付けたいユーザーは、トラックバックping URLに向けて、自分の記事の「タイトル」「概要」「自身のPermanent Link」などを送信する。この送信データのことを「トラックバックping」と言う(トラックバックpingは、先に説明した更新pingとはまったくの別物なので注意)。トラックバックpingを受けとったWebアプリケーションは、そのデータを解析し、ブログに「コメント」としてそのリンクを埋め込む。これによって、図2のように、人の手を介さずにシステムが相互に理解してリンクが実現する。
トラックバックpingの構造
トラックバックの仕様は、「TrackBack Technical Specification」に記載されている(関連リンク)。
トラックバックpingは、自分の記事の概要やPermanent linkをまとめてPOSTメソッドで送信するだけの単純なものだ。トラックバックpingに含むことができるパラメータを表1に示す。
トラックバック仕様では、それぞれのパラメータの長さに関する制限はない。しかし長すぎる場合には、トラックバックpingを受け取ったブログシステム側で、後ろが適時切り捨てられることがほとんどだ。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
トラックバックpingは、先に説明した更新pingとは違い、データはXML形式ではなく、単純な<FORM method="POST">で示される「application/x-www-form-urlencoded」形式のデータで構成される。そのため原理的には、次のような入力フォームを使って、簡単にトラックバックpingを送信できる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
実際に送信されるデータは、たとえば次のようになる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
送信する文字コードは、Content-Typeヘッダのcharset部分で指定する。しかし文字コードに関する規定は、2004年8月に提唱されたバージョン1.2で明記されたものであり、それまでは、文字コードに関する規定はなかった。そのため、文字コードを見ない(自動判定する)システムも、未だ多い。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.