WebSocket握手期间出错:net :: ERR_INVALID_HTTP_RESPONSE-Chrome升级至72

时间:2019-02-22 07:23:28

标签: google-chrome websocket

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 :(得分:0)

我找到了解决方法,在最后两节之前,这种行为被染成空字符,现在看来,72之前的chrome版本只是抄袭了它们,而更新的版本则不是