HTTP binding

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Расширение XEP-0206: XMPP Over BOSH является заменой для устаревшего расширения XEP-0025: Jabber HTTP Polling. Оно позволяет упаковывать клиент-серверный поток XMPP в последовательность синхронных запросов и ответов HTTP (BOSH).

Как и HTTP polling, этот протокол позволяет:

  • работать в условиях ограниченного доступа к сети (за корпоративным брандмауэром или с мобильных устройств с плохой поддержкой работы в Internet);
  • использовать веб-браузер в качестве клиента.

На данный момент расширение имеет статус черновика.

Особенности

В отличие от устаревшего HTTP polling, HTTP binding слабее нагружает сеть и работает с меньшими задержками.

Суть BOSH описана в расширении XEP-0124: Bidirectional-streams Over Synchronous HTTP.

Упрощённо: вместо частых запросов клиент делает один запрос и ждет ответа на него. Сервер же отвечает только тогда, когда для клиента появятся новые данные (ну или по истечении некоторого времени, чтобы проверить наличие соединения с клиентом).

Реализации

Реализации в серверах пока неизвестны. По неподтверждённым данным, в Ярушке используется некая открытая библиотека, реализующая именно это расширение.

Тем не менее, существуют внешние инструменты, реализующие binding-интерфейс:

См. также

Ссылки