小编use*_*657的帖子

在 WebSockets 中实现 permessage-deflate

我在理解和实现 WebSockets 中的 permessage-deflate 扩展时遇到了问题。

到目前为止,我已经在握手代码中添加了“Sec-WebSocket-Extensions: permessage-deflate”。似乎一切正常。

但是,当我从服务器 (Node.js) 向客户端 (JS) 发送“TEST”消息时,似乎浏览器(Chrome 和 Firefox)并未解压缩数据本身。

如何使用 permessage-deflate 扩展正确实现数据压缩和解压缩?

请求头:

GET ws://localhost/ HTTP/1.1
Host: localhost
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: null
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Sec-WebSocket-Key: X3RofjiYbzVR8zUPI5ZI6w==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Protocol: Exodus_101
Run Code Online (Sandbox Code Playgroud)

响应头:

HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
sec-websocket-accept: sFO1Id30BZe63QWcm894hnnb+Pg=
Sec-WebSocket-Protocol: Exodus_101
Sec-WebSocket-Extensions: permessage-deflate
Run Code Online (Sandbox Code Playgroud)

javascript compression deflate websocket inflate

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

compression ×1

deflate ×1

inflate ×1

javascript ×1

websocket ×1