40

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

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

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

还是我的想法不正确,它会顺利进行?

4

3 回答 3

27

我不是专家(所以请检查确认),但我相信会有一个 UPGRADE 机制,可以建立常规 HTTP 连接,然后升级到 WebSocket,因此除非它们正在执行激进的应用程序级别,否则不会干扰现有的防火墙规则数据包检查。连接仍然由浏览器发起。

于 2009-12-28T04:29:41.377 回答
9

HTML 5 WebSockets 不需要端口转发。继续从客户端建立连接,但是一旦建立连接,客户端和服务器的不对称就会消失。WebSockets 还通过使用 HTTPS 目前使用的相同 CONNECT 机制来穿透代理。

于 2009-12-28T04:32:53.917 回答
7

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

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

于 2010-02-18T20:12:56.020 回答