Чтобы создать соединение веб-сокета в javascript, мы можем использовать API веб-сокета, например:
const socket = new WebSocket('ws://localhost:8080');
тогда браузер инициирует рукопожатие через http get запрос с этими заголовками:
Upgrade: websocket
Connection: Upgrade
и ответ сервера:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
после этого клиенту и серверу будет открыто соединение с веб-сокетом.
Так что мой вопрос: возможно ли сделать рукопожатие другими методами? и если возможно позаботиться о рукопожатии через javascript, например, xhr или что-то подобное?