図解・トラックバック処理
「トラックバック」とは Web サイト間のピアツーピア通信/通知のためのフレームワークです。
もう少し分かりやすく説明すると、
リンク元サイトに「このような記事からリンクを張った」という情報を通知する仕組み
です(これも分かりにくいですが)。
ちなみに「トラックバック Ping」とは「トラックバック Ping URL に対する HTTP POST リクエスト」です。
それはともかく、ブログを始めた時に最初に戸惑うのがこの「トラックバック」で、実際にトラックバック機能を利用して一番不思議に思われる事象が、
- 「エラーになったのに相手のブログにちゃんと送信されている」
ことではないでしょうか。
その結果、誤解してトラックバックを重複送信したり、Movable Type では送信失敗したトラックバックURLを再送信用に保存するため、それに気づかず記事を再保存すると、誤って送信するといったケースが絶えません。*1
このエントリーでは、そのようなケースを引き起こす原因を理解できるよう、トラックバックの動作について図解します。
1.トラックバック処理(正常)

ブログAからブログBにトラックバックを送信すると、ブログBはトラックバック受信処理を開始します。送信したブログAはタイマを起動して、ブログBからの完了通知を待ちます。
ブログBが受信処理を終えるとブログAに完了通知を送信します。ブログAがタイマ起動中に完了通知を受信するとタイマを解除し、ブログAは「トラックバックを正常に送信した」と判断します。
2.トラックバック処理(異常)

ブログAからブログBにトラックバックを送信して、何らかの原因でブログBにトラックバックが到達しなかった場合、ブログAが起動したタイマがタイムアウトし、その契機にブログAは「トラックバックを正常に送信できなかった」と判断します。このケースではブログBは何も受信していません。
3.トラックバック処理(準正常1)

このケースは、ブログAからブログBにトラックバックを送信して、1と同様にブログBでトラックバック受信処理を開始、完了通知を送信したにもかかわらず。何らかの原因でブログAに完了通知が到達しなかった場合です。
ブログAが起動したタイマがタイムアウトし、その契機にブログAは「トラックバックを正常に送信できなかった」と判断します。ただしこのケースでは、ブログAには「エラー」と見えるにも関わらずブログBはトラックバックを正常に受信しています。
4.トラックバック処理(準正常2)

3のケースとほぼ同じですが、ブログBの処理が遅延してブログAのタイムアウトにひっかかってしまう場合です。「エラーになったのに相手のブログに送信されている」というのは、このケースが一番多いのではないでしょうか。
その他、トラックバック先のファイルが見つからない、ブログBで受信してエラーレスポンスを返却した等のケースが考えられます。
なお説明では便宜上、「正常・異常・準正常」と分けていますが、個人的な解釈に基づいています。
*1:ただし自ブログで「トラックバック成功」と認識させるには、重複送信する手しかありません(ブログによって動作は異なるかもしれません)
- 2007年ブログ総括
- MovableType コンテスト 2007
- 高品質な音楽を配信する音楽版 YouTube 「Blogmusik」
- feed meter「ランキング Top 300」で一番多く使われているブログは何か?
- ブログを続けるための3つのポイント
- ブログ開設3周年記念・【TB企画】あなたのおすすめサービス・ツール
- Technorati 「リンクカウントグラフ」で被リンク数の推移をブログに表示する
- Scuderia Ogapietti
- Movable Type コンテスト 2006 入賞
- ブログツール比較(Movable Type / Serene Bach / WordPress)
- 2006年ブログ総括
- YST(Yahoo! Search Technology)との戦い:その3 & Google 関連検索
- ブログツール「NHK時計」
- 服部祐民子さんのサイト「服部んち」日記Blog
- ウェブサイトの横幅について
- 文字拡大ツールを利用する
- YST(Yahoo! Search Technology)との戦い:その2
- YST(Yahoo! Search Technology)との戦い
- バナー広告不要・アクセス解析ツール「Research Artisan」

