HTTP/1.1 101 Web Socket Protocol Handshake
HTTP/1.1 101 Switching Protocols
Имеет ли значение, какой я получу?
Ответ 1
Нет никакой разницы. Важно, чтобы код ответа 101 указывал на то, что рукопожатие прогрессирует. Это определено в RFC 6455:
Ведущая строка от клиента соответствует формату Request-Line. Ведущая строка с сервера соответствует формату "Строка состояния" . Операции "Запрос-строка" и "Строка-строка" определены в [RFC2616].
...
Рукопожатие с сервера намного проще, чем клиентское рукопожатие. Первая строка - это строка состояния HTTP, с кодом состояния 101:
HTTP/1.1 101 Переключение протоколов
Любой код состояния, отличный от 101, указывает, что квитирование WebSocket не завершено и что семантика HTTP по-прежнему применяется.
Текст Status-Line произволен, сервер может использовать любой текст, который он хочет, за RFC 2616:
Элемент Status-Code представляет собой трехзначный целочисленный код результата попытки понять и удовлетворить запрос. Эти коды полностью определены в разделе 10. Фраза разума предназначена для краткого текстового описания кода состояния. Код состояния предназначен для использования автоматами, а Фраза разума предназначена для пользователя. Клиенту не требуется проверять или отображать фразу разума.
Switching Protocols просто случается, что используют примеры из RFC 6455, но это не является обязательным требованием.