我在NodeJS项目中使用“WS”库。可以禁用压缩吗?我正在尝试在服务器端执行此操作
ws = new WebSocketServer({port: 8889, perMessageDeflate: false})
但它不起作用
Accept-Encoding: gzip, deflate
Sec-WebSocket-Extensions: permessage-deflate
我不知道如何禁用xor mask。
答案 0 :(得分:4)
您已在服务器中按消息deflate禁用,但是您看到客户端正在宣布其处理它的能力,这是正常的。我的意思是,您粘贴的HTTP标头来自客户端请求(因为服务器不发送Accept-*
标头)。
要知道压缩是否最终被选为连接的扩展,请检查服务器响应中的Sec-WebSocket-Extensions
标头。
无法禁用XOR屏蔽,从客户端到浏览器需要缓解一些可能的攻击和代理做有趣的事情:https://softwareengineering.stackexchange.com/questions/226343/is-masking-really-necessary-when-sending-from-websocket-client
答案 1 :(得分:0)
别忘了添加Compression:None标头-否则,浏览器需要带有permessage-deflate的Sec-WebSocket-Extensions。