PubSubHubbub is an open protocol for distributed publish/subscribe communication on the Internet. Initially designed to extend the Atom (and RSS) protocols for data feeds, the protocol can be applied to any data type(i.e text, pictures, audio, video) as long as its accessible via HTTP. Its main purpose is to provide real-time notifications of changes, which improves upon the typical situation where a client periodically polls the feed server at some arbitrary interval. In this way, PubSubHubbub provides pushed HTTP notifications without requiring clients to spend resources on polling for changes.
Under PubSubHubbub, there is an ecosystem of publishers, subscribers, and hubs.
A subscriber initially polls an clarify] in the conventional way, i.e. by requesting it from the webserver. The subscriber then inspects the HTTP headers, and if it references a hub, the subscriber can subscribe to that resource's [clarify] on that hub. The subscriber needs to run a web accessible server so that hubs can directly notify it when any of its subscribed topics have updated, using a webhook mechanism.[
Publishers expose their content with the inclusion of hub references in the HTTP headers. They post notifications to those referenced hubs whenever they publish something. Thus, when a publication event occurs, the publisher calls its hubs and the hubs call their subscribers.
A clarify] prevents abusive subscriptions, and a validation mechanism allows for subscriptions to private or protected web resources.[
In order to provide a secure chain, subscribers should share a secret with the hub, which will be used by the hub to compute an HMAC key that will be sent to the subscriber. The latter can then easily verify the origin by comparing the supplied signature with a similarly computed signature on their end.
|This World Wide Web-related article is a stub. You can help Wikipedia by expanding it.|