Ошибка во время рукопожатия WebSocket: net :: ERR_INVALID_HTTP_RESPONSE - обновление Chrome до 72 - PullRequest
0 голосов
/ 22 февраля 2019

После обновления chrome до 72 я начал получать

Ошибка при рукопожатии WebSocket: net :: ERR_INVALID_HTTP_RESPONSE

Для своего приложения я написал собственную реализацию на спине,и он работал нормально, пока Chrome не обновился до 72 (и все еще работает, если я понизил).

Запрос с фронта такой же, но ответ перестал работать, я пропустил какое-то новое (обязательное) поле?Что-то изменилось в спецификации (реализации) протокола wbesocket?

Все строки разделены \r\n и в конце ответа удваивается.

В чем проблема, которую я не задаю?Не знаю, кто-нибудь может мне помочь?

Спасибо!

Вот примеры запросов / ответов:

Запрос:

GET / HTTP/1.1
Host: localhost:43594
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Upgrade: websocket
Origin: http://localhost:8181
Sec-WebSocket-Version: 13
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Sec-WebSocket-Key: 8+Ck6qJuBfyiRyN0civK1Q==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Protocol: ypsilon

Ответ:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: RmyrkdBT/F21bXWmdVFzwHxCvq4=
Sec-WebSocket-Protocol: ypsilon

1 Ответ

0 голосов
/ 22 февраля 2019

Я нашел решение, что поведение было характерно для пустых символов перед двумя последними разделами, и теперь кажется, что версии Chrome до 72 просто транслировали их, а более новые не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...