【发布时间】:2019-08-02 14:15:57
【问题描述】:
我正在尝试在 Node 中添加一个 Web 套接字扩展,其行为类似于 permessage-deflate。我的问题是一切正常,直到点节点发回它与 Sec-WebSocket-Extensions: x-webkit-deflate-frame 的握手。来自 Safari 的请求包含此内容,但如果我将其包含在尝试告诉 Safari 继续使用压缩的响应中,它永远不会显示为“网络”选项卡中的标题。我已通过 Wireshark 确认我们将在响应中发送它,但我无法弄清楚为什么 safari 会删除它。我找遍了所有可能的地方,但似乎没有人遇到这个问题。
我也尝试过使用:
Sec-WebSocket-Extensions: x-webkit-deflate-frame; server_no_context_takover
Sec-WebSocket-Extensions: x-webkit-deflate-frame; no_context_takover
Sec-WebSocket-Extensions: x-webkit-deflate-frame; client_no_context_takeover
Sec-WebSocket-Extensions: x-webkit-deflate-frame; server_no_context_takeover; client_no_context_takeover
每当我使用任何无上下文接管时,Safari 都会从响应标头中删除所有内容。
【问题讨论】:
-
额外的细节是什么?为什么你认为 Safari 会支持它们?它在
x-webkit-deflate-frame规范中吗? -
@Myst,我想你很困惑。除了回复
Sec-WebSocket-Extensions: x-webkit-deflate-frame之外,我还尝试了其他的细节,看看这些是否能奏效。 -
我在开发自己的网络套接字服务器时实际上遇到了同样的问题,因此提供了一个答案。希望有用
-
那么你设法解决了这个问题吗?
标签: websocket safari compression mobile-safari