我对html5的websockets规范感到非常兴奋,但我有一个担忧.
现在每个人都在某个网络上运行,路由器(有线/无线)内置防火墙,windows也有内置防火墙.
考虑到这一点,当服务器尝试连接回启动websocket握手的浏览器时,绝大多数用户都会失败吗?(大多数人不知道如何在他们的路由器上设置端口转发)
或者我的想法是不正确的,它会经历好吗?
我不是专家(所以请检查确认)但我相信会有一个UPGRADE机制,可以建立常规的HTTP连接,然后升级到WebSocket,所以没有现有的防火墙规则干扰,除非他们正在积极的应用程序级别包检查.连接仍由浏览器启动.
HTML 5 WebSockets不需要端口转发.继续从客户端建立连接,但是一旦建立连接,客户端和服务器不对称就会消失.WebSockets还使用HTTPS当前使用的相同CONNECT机制来完成代理.
由于防火墙通常只是强制执行入站流量拒绝和出站流量路由的规则(通常通过代理服务器),因此通常没有特定的WebSocket流量相关的防火墙问题.
代理服务器(在某种程度上,某些负载平衡路由器)也是一个不同的问题(请参阅为什么当前的websocket客户端实现不支持代理?)