WebSub (ранее PubSubHubbub [1] ) - это открытый протокол для распределенного обмена данными по подписке в Интернете . Первоначально разработанный для расширения протоколов Atom (и RSS ) для каналов данных, протокол может применяться к любому типу данных (например, HTML , текст, изображения, аудио, видео), если он доступен через HTTP. Его основная цель - предоставлять уведомления об изменениях в режиме реального времени , что улучшает типичную ситуацию, когда клиент периодически опрашиваетсервер подачи через некоторый произвольный интервал. Таким образом, WebSub предоставляет push-уведомления HTTP, не требуя от клиентов тратить ресурсы на опрос изменений.
В октябре 2017 года PubSubHubbub был переименован в WebSub для простоты и ясности. [2] По состоянию на январь 2018 [Обновить]года протокол WebSub был принят W3C в качестве рекомендации. [3]
Протокол
В WebSub есть экосистема издателей, подписчиков и хабов. [4]
Подписчик сначала получает контент из HTTP-ресурса ( URL ), запрашивая его с веб-сервера. Затем подписчик проверяет содержимое ответа, и, если он ссылается на концентратор, подписчик может подписаться на URL-адрес этого ресурса (в спецификации он называется «темой») на этом концентраторе. Подписчику необходимо запустить веб-сервер, доступный через Интернет, чтобы концентраторы могли напрямую уведомлять его об обновлении любой из подписанных тем с помощью механизма веб-перехватчика .
Издатели раскрывают свой контент, включая ссылки на хабы в заголовки HTTP. Они отправляют уведомления в указанные хабы всякий раз, когда что-то публикуют. Таким образом, когда происходит событие публикации, издатель вызывает свои концентраторы, а концентраторы вызывают своих подписчиков.
WebSub включает простой механизм проверки намерений для предотвращения злоупотреблений подписками, а механизм проверки позволяет подписки на частные или защищенные веб-ресурсы. Когда подписчик отправляет запрос на подписку в концентратор, необходимо указать адрес подписчика и код. Хаб немедленно отправляет подписчику проверочное сообщение с URL-адресом темы и приведенным выше кодом. Запрос на подписку будет принят только в том случае, если подписчик отправит положительный ответ на запрос проверки хаба.
Чтобы обеспечить безопасную цепочку, подписчики должны поделиться секретом с концентратором, который будет использоваться концентратором для вычисления ключа HMAC, который будет отправлен подписчику. Последние могут легко проверить источник, сравнив предоставленную подпись с аналогичным образом вычисленной подписью на своей стороне .
Применение
WebSub используется для продвижения контента на многих веб-сайтах, включая все блоги, обслуживаемые Blogger и WordPress.com , [5] новостные сайты, включая CNN и Fox News , и социальные сети, такие как diaspora * , Mastodon , MySpace [6] или Medium.com . [7]
Службы подписки («программы чтения каналов») включают Flipboard , Feedly , NewsBlur и другие популярные варианты. [8]
Провайдеры хостинговых центров сообщества включают pubsubhubbub.appspot.com (управляемый Google ) [9] и pubsubhubbub.superfeedr.com (управляемый Superfeedr ). [10]
Superfeedr предоставляет подробное руководство по реализации PubSubHubbub. [11]
Смотрите также
Рекомендации
- ^ PubSubHubbub
- ^ «WebSub @ W3C» .
- ^ «Рекомендация WebSub W3C от 23 января 2018 г.» .
- ^ «WebSub» .
- ^ «Rub-a-Dub-Dub в PubSubHubbub» . Блог WordPress.com . Проверено 6 февраля 2018 .
- ^ «Компании» . pubsubhub - Google Code . Проверено 2 сентября 2014 года .
- ^ «Блог Superfeedr - Medium поддерживает PubSubHubbub» . Дата обращения 3 мая 2015 .
- ^ «Состояние PubSubHubbub» . Блог Superfeedr . Проверено 2 сентября 2014 года .
- ^ Добро пожаловать в Google PubSubHubbub Hub!
- ^ Superfeedr Open PubSubHubbub Hub
- ^ Блог Superfeedr - Как реализовать PubSubHubbub
Внешние ссылки
- WebSub Rocks! , средство проверки и тестирования WebSub.
- Запись WebSub на вики IndieWebCamp