Протокол веб-сокета, начинающийся с ws:
, определен в RFC6455 .
В то время как будущие реализации протокола могут получить выделенные номера портов для безопасного и незащищенного трафика, на данный момент(2018) протокол инициируется созданием HTTP-запроса с заголовком обновления для изменения протокола на WS.(Ссылки 1 , 2 & 3 ).
Для использования веб-сокетов и ws
протоколов требуется клиентская поддержка веб-сокетовAPI и серверная поддержка заголовка обновления протокола и обмена данными через веб-сокеты.
SockJS напоминает заполнение веб-сокетов, которое откатится к доступным каналам связи, если веб-сокеты недоступны.Согласно файлу readme.md,
"SockJS предназначен для работы во всех современных браузерах и в средах, не поддерживающих протокол WebSocket, например, за ограничивающими корпоративными прокси.
Для веб-сокетов и SockJS требуется поддержка на сервере. EG для узла: ws или SockJS для узла . Файл readme.md для SockJS указывает, что сервербудет принимать необработанные запросы, используя заголовок протокола ws:
, но не будет указывать, на каком порту.
Если запрос на стороне клиента не принимает ws
URL-адресов, я предлагаю предположить, что он был написан вокруг предположений о созданииначальный HTTP / HTTPS-запрос для определения поддержки. Возможно, запрос на обновление может расширить протоколы, принятые в URL!