HTTP binding

From JaWiki (Jabber/XMPP wiki)
Revision as of 10:21, 21 April 2009 by Cblp.su (Talk | contribs)

Jump to: navigation, search

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

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

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

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

Особенности

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

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

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

Реализации

Пока неизвестны.Template:Ref

Примечания

  1. Template:Note Одного браузера, конечно, будет недостаточно. Но можно создать клиент на веб-странице, использую только AJAX. Например, для polling таким клиентом является JWChat.
  2. Template:Note По неподтверждённым данным, в Ярушке используется некая открытая библиотека, реализующая именно это расширение.

См. также

  • BOSH — базовый протокол
  • HTTP polling — альтернативный (устаревший) механизм

Ссылки