BOSH (протокол) - BOSH (protocol)

Двунаправленные потоки через синхронный HTTP (BOSH) это транспортный протокол который имитирует двунаправленный поток между двумя объектами (например, клиент и сервер ) с помощью нескольких синхронный HTTP пары запрос / ответ, не требующие использования опрос или же асинхронный дробление.

Для приложений, требующих как «push», так и «pull» связи, BOSH значительно более эффективен в отношении пропускной способности и быстрее реагирует, чем большинство других двунаправленных транспортных протоколов на основе HTTP и AJAX. BOSH достигает этого, избегая HTTP-опроса, но при этом не прибегая к фрагментированным HTTP-ответам, как это делается в технике, известной как Комета. На сегодняшний день BOSH использовался в основном как транспорт для обмена трафиком между Jabber / XMPP клиенты и серверы (например, для облегчения соединений от веб-клиентов и мобильных клиентов в прерывистых сетях).

Для «push» клиент BOSH запускает HTTP-запрос, но сервер откладывает отправку ответа до тех пор, пока у него не появятся данные для отправки.[1] После получения ответа клиент немедленно делает еще один запрос по тому же HTTP-соединению, поэтому сервер всегда может отправить данные клиенту, не дожидаясь опроса клиента. Если в ожидании ответа клиенту необходимо отправить данные на сервер, он открывает второе HTTP-соединение. Одновременно открыто не более двух HTTP-соединений: одно, по которому сервер может отправлять данные в качестве ответа, а другое, по которому клиент может отправлять данные в виде POST.

«Двунаправленные потоки через синхронный HTTP (BOSH)» и «XMPP через BOSH» являются проектами стандартов Фонд стандартов XMPP.

Второй родственный стандарт XMPP через BOSH (XEP-0206) определяет, как BOSH может использоваться для транспортировки XMPP строфы. Результатом является HTTP-привязка для связи XMPP, которая предназначена для использования в ситуациях, когда устройство или клиент не может поддерживать долгосрочное TCP соединение на сервер XMPP.

Смотрите также

Примечания

Рекомендации