Протокол веб-сокета, начинающийся с ws:
, определен в RFC6455.
Хотя будущие реализации протокола могут получить выделенные номера портов для безопасного и незащищенного трафика, на данный момент (2018 г.) протокол инициируется путем отправки HTTP-запроса с заголовком обновления для изменения протокола на WS. (Ссылки 1, 2 и 3).
Для использования веб-сокетов и ws
протоколов требуется клиентская поддержка API веб-сокетов. и поддержка сервером заголовка обновления протокола и связи через веб-сокет.
SockJS похож на полфилл для веб-сокетов, который будет использовать доступные каналы связи, если веб-сокеты недоступны. Согласно файлу readme.md,
«SockJS предназначен для работы во всех современных браузерах и в средах, не поддерживающих протокол WebSocket, например, за корпоративными прокси-серверами с ограничениями.
И веб-сокеты, и SockJS требуют поддержки на сервере. НАПРИМЕР. для узла либо ws, либо SockJS для узла. В файле readme.md для SockJS указано, что сервер будет принимать необработанные запросы с использованием заголовка протокола ws:
, но не указывается, на каком порту.
Если запрос на стороне клиента не принимает URL-адреса ws
, я предлагаю предположить, что он был написан на основе предположений о выполнении начального запроса HTTP/HTTPS для определения поддержки. Возможно, запрос на обновление может расширить протоколы, принимаемые в URL-адресе!
person
traktor
schedule
10.10.2018