关于 websocket 协议,您可以从这里阅读详细信息,https://www.rfc-editor.org/rfc/rfc6455#section-5.3
在面具部分,它说:
屏蔽密钥是客户端随机选择的 32 位值。
在准备屏蔽帧时,客户端必须
从允许的 32 位值集中选择一个新的屏蔽密钥。屏蔽键需要
是不可预测的;因此,掩码密钥必须来自强大的熵源,并且给定帧的掩码键不能
使服务器/代理很容易预测
后续帧的掩码键。屏蔽密钥的不可预测性
对于防止恶意应用程序的作者选择出现在线路上的字节至关重要。RFC 4086 [RFC4086] 讨论了什么需要为安全敏感的
应用程序提供合适的熵源。
我不明白为什么掩码密钥必须是不可预测的,更不用说这里真的需要掩码吗?因为你每次都发送它,嗅探器可以得到它并轻松解密它。我能想到的唯一有用的是它首先使播放负载数据对人类不可读,并且服务器需要更多时间来处理接收