我在我的 NodeJS 项目中使用“WS”库。可以禁用压缩吗?我正在尝试在服务器端执行此操作
ws = new WebSocketServer({port: 8889, perMessageDeflate: false})
但是没用
Accept-Encoding: gzip, deflate
Sec-WebSocket-Extensions: permessage-deflate
而且我不知道我该怎么做才能禁用异或掩码。
最佳答案
您已在服务器中禁用每条消息放气,但是您看到客户端正在宣布其处理它的能力,这是正常的。我的意思是,您粘贴的 HTTP header 来自客户端请求(因为服务器不发送 Accept-*
header )。
要了解是否最终选择了压缩作为连接的扩展,请检查服务器响应中的 Sec-WebSocket-Extensions
header 。
XOR 屏蔽不能被禁用,客户端到浏览器需要它来减轻一些可能的攻击和代理做有趣的事情:https://softwareengineering.stackexchange.com/questions/226343/is-masking-really-necessary-when-sending-from-websocket-client
关于javascript - 在浏览器端禁用 WebSockets 压缩和异或掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33328424/