我对 html5 的 websockets 规范感到非常兴奋,但我有一个担忧。

如今,每个人都在某个网络上运行,路由器(有线/无线)内置了防火墙,Windows 也有内置防火墙。

考虑到这一点,当服务器尝试连接回启动 websocket 握手的浏览器时,对于绝大多数用户来说,它会失败吗?(大多数人不知道如何在路由器上设置端口转发)

还是我的想法不正确并且会顺利进行?

有帮助吗?

解决方案

我不是专家(所以请检查确认),但我相信会有一个升级机制,其中一个普通的HTTP连接可以,然后升级到WebSocket,所以没有现成的防火墙规则,除非妨碍他们在做侵略性应用级数据包检查。连接仍然由浏览器发起。

其他提示

HTML 5的WebSockets不需要端口转发。连接继续从客户端建立的,但一旦建立连接的客户端和服务器的不对称性消失。的WebSockets还通过代理通过使用HTTPS今天使用相同的CONNECT机构冲床。

由于防火墙通常只是强制执行入站流量拒绝和出站流量路由(通常通过代理服务器)的规则,因此通常不存在与 WebSocket 流量相关的特定防火墙问题。

代理服务器(在某种程度上,还有某些负载平衡路由器)是另一回事(请参阅 为什么当前的 websocket 客户端实现不支持代理?)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top