WebSub (formerly PubSubHubbub) is an
open protocol
Open or OPEN may refer to:
Music
* Open (band), Australian pop/rock band
* The Open (band), English indie rock band
* ''Open'' (Blues Image album), 1969
* ''Open'' (Gotthard album), 1999
* ''Open'' (Cowboy Junkies album), 2001
* ''Open'' (YF ...
for distributed
publish–subscribe communication on the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
. Initially designed to extend the
Atom
Every atom is composed of a nucleus and one or more electrons bound to the nucleus. The nucleus is made of one or more protons and a number of neutrons. Only the most common variety of hydrogen has no neutrons.
Every solid, liquid, gas, and ...
(and
RSS
RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
) protocols for data feeds, the protocol can be applied to any data type (e.g.
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
, text, pictures, audio, video) as long as it is accessible via HTTP. Its main purpose is to provide real-time
notifications
Notification may refer to:
* Notification (Holy See), an announcement by a department of the Roman Curia
*Casualty notification, the process of notifying relatives of people who have been killed or seriously injured
* Death notification, the proc ...
of changes, which improves upon the typical situation where a client periodically
polls the feed server at some arbitrary interval. In this way, WebSub provides pushed HTTP notifications without requiring clients to spend resources on polling for changes.
In October 2017, PubSubHubbub was renamed to WebSub for simplicity and clarity.
, the WebSub protocol has been adopted by the
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
as a Recommendation.
Protocol
Under WebSub, there is an ecosystem of publishers, subscribers, and hubs.
A subscriber first retrieves content from an HTTP resource (
URL) by requesting it from the webserver. The subscriber then inspects the contents of the response, and if it references a hub, the subscriber can subscribe to that resource's URL (it's called a 'topic' by the spec) 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
A webhook in web development is a method of augmenting or altering the behavior of a web page or web application with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who may not necess ...
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.
WebSub includes a simple verification of intent mechanism in order to prevent abusive subscriptions, and a validation mechanism allows for subscriptions to private or protected web resources. When the subscriber sends the subscription request to the hub, the subscriber address and a code needs to be included. The hub immediately sends a verification message to the subscriber with the URL of the topic and the above code. The subscription request will only be accepted if the subscriber sends a positive response to the verification request of the hub.
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
A signature (; from la, signare, "to sign") is a handwritten (and often stylized) depiction of someone's name, nickname, or even a simple "X" or other mark that a person writes on documents as a proof of identity and intent. The writer of a ...
with a similarly computed signature on their end.
Usage
WebSub is used to push content by many websites, including all
blog
A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order ...
s served by
Blogger
A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order ...
and
WordPress.com
WordPress.com is a platform for self-publishing that is popular for blogging and other works. It is owned and operated by Automattic, Inc. It is run on a modified version of WordPress software. This website provides free blog hosting for regis ...
, news sites including
CNN
CNN (Cable News Network) is a multinational cable news channel headquartered in Atlanta, Georgia, U.S. Founded in 1980 by American media proprietor Ted Turner and Reese Schonfeld as a 24-hour cable news channel, and presently owned by ...
and
Fox News
The Fox News Channel, abbreviated FNC, commonly known as Fox News, and stylized in all caps, is an American multinational conservative cable news television channel based in New York City. It is owned by Fox News Media, which itself is owne ...
, and social networks like
diaspora*,
Mastodon
A mastodon ( 'breast' + 'tooth') is any proboscidean belonging to the extinct genus ''Mammut'' (family Mammutidae). Mastodons inhabited North and Central America during the late Miocene or late Pliocene up to their extinction at the end of th ...
,
MySpace or
Medium.com.
Subscribing services (“feed readers”) include
Flipboard
Flipboard is a news aggregator and social network aggregation company based in Palo Alto, California, with offices in New York, Vancouver, and Bejiing. Its software, also known as Flipboard, was first released in July 2010. It aggregates conten ...
,
Feedly
Feedly is a news aggregator application for various web browsers and mobile devices running iOS and Android. It is also available as a cloud-based service. It compiles news feeds from a variety of online sources for the user to customize and sha ...
,
NewsBlur, among other popular options.
Community Hosted hub providers include pubsubhubbub.appspot.com (operated by
Google
Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
), pubsubhubbub.superfeedr.com (operated by
Superfeedr
Superfeedr is a feed API built on WebSub, which is sometimes referred to as PuSH. It transforms a variety of feeds into standardized RSS, Atom, or JSON format and distributes (or "pushes") them via WebSub or XMPP. This allows subscribers to r ...
), and websubhub.com.
Superfeedr provides a detailed PubSubHubbub guide for implementation.
See also
*
Publish–subscribe pattern
In software architecture, publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead categorize published mes ...
*
RSS Cloud
*
RSS to email
References
{{W3C standards
RSS (file format)
RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
Web syndication formats
XML-based standards
Computer file formats
Google
World Wide Web Consortium standards