HTTP binding

From JaWiki (Jabber/XMPP wiki)
Revision as of 11:44, 19 May 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.

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

Реализации

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

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

Ссылки

См. также

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

Примечания

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