HTTP polling

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

Расширение XEP-0025: Jabber HTTP Polling позволяет упаковывать клиент-серверный поток XMPP в последовательность запросов и ответов HTTP.

Говоря проще, клиент Jabber старается выглядеть, как веб-браузер.

В основном, это применяется хитрыми пользователями для того, чтобы обойти корпоративные ограничения на использование Интернет-соединения либо в клиентах для мобильных телефонов при использовании в моделях телефонов, в которых нет полноценной поддержки работы в Internet.

На данный момент расширение является устаревшим и не рекомендуется к реализации и использованию.

Особенности

Клиент, использующий HTTP Polling, каждые несколько секунд выполняет HTTP запросы к серверу. В теле запроса при этом отправляются исходящие данные (если есть). Сервер посылает в ответе входящие данные для клиента (если есть). Серьезными недостатками этого метода являются:

  • значительная доля запросов клиента получает ответ "нет новых данных". Таким образом, генерируется лишний трафик и напрасно нагружается сеть.
  • Обмен данными происходит с некоторым интервалом, что воспринимается пользователем как задержки при отправке и получении сообщения. Увеличить частоту обмена нельзя по причине, указанной в предыдущем пункте.

Кроме того, хорошие прокси-сервера очень быстро обнаруживают периодические частые запросы на один и тот же URL (Polling URL) и всё равно блокируют соединение.

Реализации

У сервера ejabberd поллинг по умолчанию включён и доступен по адресу http://example.org:5280/http-poll/

На Jabber.ru URL поллинга таков: http://httppoll.jabber.ru/

См. также