WebSub
WebSubは、出版者(publishers)、購読者(subscribers)、ハブ(hubs)の三者で構成される。
最初に購読者はウェブサーバからHTTPリソース(URL)を要求して、そのコンテンツを取得する。次に購読者はレスポンスの内容を調べ、もしそれがハブを参照しているならば、購読者はそのハブ上にあるそのリソースのURL(これは仕様上は「トピック(topic)」と呼ばれる)を購読できる。購読したトピックのうちのいずれかが更新された場合にwebhookの仕組みを使ってハブからの通知を直接受けられるように、購読者はウェブ接続可能なサーバを走らせておく必要がある。
出版者は自身のコンテンツをHTTPヘッダ内にハブ参照を含めて公開する。出版者が何かを出版するときは必ずそれらの参照されたハブに通知を流す。つまり、出版イベントが発生した場合、出版者はそのハブに連絡し、そのハブが購読者たちに連絡する。
WebSubは不正な購読を防止するため、簡単な意志確認機能を持っており、確認機能により個人用や保護されたウェブリソースの購読も可能となる。購読者が購読申請をハブに送るとき、購読者のアドレスとコードを含める必要がある。ハブは直ちにトピックのURLと先ほどのコードを添えて確認メッセージを購読者に送る。この確認要請に対して購読者が肯定する返事を送った場合のみ購読申請が受け入れられる。
セキュアなチェーンを提供するため、購読者はハブと秘密のパスワードを共有すべきである。ハブはこのパスワードを使って、購読者に送るHMACキーを計算する。後者のキーは、与えられたデジタル署名と、同様に自分の側で計算した署名とを比較することで簡単に検証できる。