javascript - 在浏览器端禁用 WebSockets 压缩和异或掩码

标签 javascript node.js websocket

我在我的 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/

相关文章:

javascript - 在另一个 html 文件中包含 html

javascript - npm 模块的 WebStorm 自动完成

node.js - Node.js Node 模块的 Visual Studio 在线持续部署失败?

networking - 基于帧和基于流的协议(protocol)

node.js - 端口 34037 已在使用 Heroku + Nodejs + Express + WebSockets

javascript - Youtube 播放器 JS API seekTo 功能不起作用

javascript - 服务工作人员错误 DOMException : Only secure origins are allowed

javascript - React 服务器端渲染在前端重新渲染?

javascript - 如何使用 Nodejs 重定向到另一个页面,例如 google?

android - 使用 IBM Watson Android sdk 将音频文件写入 websocket