Javascript 在WebSockets中实现permessagedeflate
我在理解和实现WebSocket中的permessage deflate扩展时遇到了一个问题 到目前为止,我已经在握手代码中添加了“SecWebSocket扩展:permessage deflate”。看来一切正常 然而,当我从服务器(Node.js)向客户端(js)发送一条“TEST”消息时,似乎浏览器(Chrome和Firefox)本身并没有解压缩数据 如何使用permessagedeflate扩展正确地实现数据压缩和解压缩 请求标头:Javascript 在WebSockets中实现permessagedeflate,javascript,websocket,compression,deflate,inflate,Javascript,Websocket,Compression,Deflate,Inflate,我在理解和实现WebSocket中的permessage deflate扩展时遇到了一个问题 到目前为止,我已经在握手代码中添加了“SecWebSocket扩展:permessage deflate”。看来一切正常 然而,当我从服务器(Node.js)向客户端(js)发送一条“TEST”消息时,似乎浏览器(Chrome和Firefox)本身并没有解压缩数据 如何使用permessagedeflate扩展正确地实现数据压缩和解压缩 请求标头: GET ws://localhost/ HTTP/1.
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
响应标题:
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
服务器和客户端都压缩有效负载数据部分 使用参数按每条消息显示WebSocket数据消息 在开场握手时进行了协商 permessage deflate头在握手中用于指示连接是否应使用压缩
复制并粘贴握手negotiation@vtortola你好我刚刚编辑了上面的帖子。我已经包括了标题。握手似乎还可以,你是如何压缩和解压缩的?我不是,我认为整个压缩和解压缩功能将自动发生时,添加permessage deflate在标题中。我的问题是理解如何实现压缩和解压缩。。实际上,您必须在node.js中启用某些功能,或者为此添加一个扩展,而不仅仅是返回一个头。