要約
- PubSubHubbubは、購読者が各サイトへ「新着は?」と何度も問い合わせる仕事を、発行者・ハブ・コールバックの連携に置き換えた。2010年の草案ではハブが更新を取りに行き、購読先へ配る。速さは中継役の仕事に支えられた。
- 2018年のW3C WebSub勧告では、ハブの
202 Acceptedは受付であり、購読成立の証明ではない。コールバック確認と期限付きの購読が続き、期限前の更新手続きは購読者の仕事になった。
更新を聞きに歩く仕事をやめる
フィードを読むサービスは、新しい記事がなくても定期的に各発行元へ取りに行く。大半の返事が前回と同じなら、通信は空振りになる。2010年2月のPubSubHubbub Core 0.3草案は、その反復をやめる案だった。発行者がAtomまたはRSSフィードにハブを示し、更新時にハブへ知らせる。ハブはフィードを取得し、変化を購読者のコールバック先へ配る。
サイトの玄関に各読者が列を作らずに済む。発行者は配送所に知らせ、配送所が多数へ届ける。草案の参照実装はGoogle App Engineを使ったが、草案は誰でもハブを運営できると述べた。方式は一社の専有物ではない。ただし一件の購読は、発行者が示した特定のハブを通る。自由に作れる仕組みと、実際の配送経路は別の話だ。
購読を申し込む側は、外からアクセスできるコールバックURLを渡す。ハブはそのURLに hub.challenge を送り、同じ値を返させて本人の意思を確かめる。第三者が勝手に他人のURLを申し込み、あるいは解除するのを防ぐためだ。ハブは購読の一覧と更新の配送も抱える。繰り返し取得する負担を減らした分、取り次ぎの仕事は一カ所に集まる。
202は窓口の番号札
W3Cは2018年1月、WebSubを勧告として公表した。PubSubHubbubの新しい名前である。2018年版の仕様は発行者・ハブ・購読者の三者を残し、購読対象をフィードだけでなくWebの資源として扱う。発行者が対象とハブを示し、購読者がハブへPOSTし、ハブがコールバックへ内容をPOSTする。
申し込みに対するHTTP 202 Accepted は、成立通知に見えてしまう。仕様での意味は、ハブが要求を受け取り、これから確認に進むということだ。ハブは対象URLやコールバックURLを自分の方針で拒める。受け付けた後もコールバックへ確認用の値を送り、正しく返ってくるまで意思は確定しない。番号札を手にした時点では、まだ配達名簿に載ったとは言えない。
期限にも違いがある。2010年草案は期限を扱い、ハブが購読者に再確認して自動更新する流れを描いた。2018年勧告は期限の執行をハブに義務付け、無期限の購読を認めなかった。確認時にハブが知らせる hub.lease_seconds が切れる前に、購読者自身が再度申し込む。発行元のフィードは更新され続けても、手続きを逃した購読先へのプッシュは途切れうる。
2018年の仕様は複数のハブと独立した実装を許す。一方、発行者が指定したハブは受け入れ、確認、期限管理、内容の配達を担う。発行者からハブへの更新通知方法は当事者間で決める。ハブの失敗配達の再試行にも、ハブ自身の限度がある。「更新された」「ハブが知った」「申請を受けた」「確認した」「期限内」「届けた」は、同じ出来事ではない。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
ストラテジックサークル限定
ストラテジックサークル
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
ストラテジックサークルに参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





