HTTP binding
Расширение 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 — альтернативный (устаревший) механизм
Примечания
- Template:Note Одного браузера, конечно, будет недостаточно. Но можно создать клиент на веб-странице, использую только AJAX. Например, для polling таким клиентом является JWChat.