2011-04-29 79 views
0

纠正我,如果我错了......WebSockets是否重新发明了轮子?

  1. 我们为了限制互联网访问他们的企业员工(和间接地“保护”家庭用户)
  2. 现在的WebSockets使应用程序可以隧道的任何介绍防火墙通过端口80进行通信。

有什么意义?防火墙应该从来没有发明过吗? 如我所料,如果防火墙开始阻止所有Websocket通信,首先介绍它们的意义何在?

UPDATE:我的错。我的错误印象是WebSockets允许通过端口80进行任意的端口转发隧道,但它没有。 WebSockets专门用于通过端口80打开全双工通信。

回答

4

我们为了限制互联网访问他们的企业员工(和间接地“保护”家庭用户)

防火墙并没有出台限制网络的内部侧的活动(介绍防火墙尽管他们可以这样使用)。防火墙是为了防止网络外部入侵而创建的。

现在WebSockets允许应用程序隧道通过端口80的任何通信。

应用程序(非web)始终能够通过端口80对任何他们想要的任何东西进行通道,WebSockets允许的所有内容都是用于启动Javascript和服务器之间的全双工连接。

我想我真的不明白你为什么会认为企业网络会防火墙WebSocket流量。所有的WebSocket都可以在Web浏览器和服务器之间建立高效的全双工连接。

+0

不要WebSockets允许你通过端口80隧道通信到任意端口?也就是说,不要将WebSockets重定向通信到通常被防火墙阻止的本地端口? – Gili 2011-05-01 04:19:11

+0

@Gili:据我所知,没有规定任意端口转发。我确信它只允许服务器和浏览器之间的全双工连接。 – Thomas 2011-05-01 18:16:52

+0

我的错误。感谢您澄清关于端口转发。 – Gili 2011-05-03 14:38:12

6

WebSockets并非旨在方便公司安全管理员,它们旨在提供快速浏览器<→服务器通信;因此你提出这个问题的观点是无效的; WebSockets对于他们的预期目的非常有用,而且大多数Web不在企业防火墙之后。

许多公司现在允许任意数据的加密隧道传输到互联网,所以这并不是什么新鲜事。通过WebSockets进行数据泄露的风险以及必要的对策将依据各个安全管理员对其员工的信任程度以及他们所访问的公司数据的敏感程度进行判断。

+0

+1,具有次要问题:WebSockets将在延迟意义上提供快速连接。对于带宽,WebSockets不会比HTTP有明显的优势(对于大型传输,较小的开销可以忽略不计)。 – kanaka 2011-04-30 14:51:14

+0

不要WebSockets允许您通过端口80隧道通信到任意端口?也就是说,不要将WebSockets重定向通信到通常被防火墙阻止的本地端口? – Gili 2011-05-01 04:19:46

+1

@Gill。没有比AJAX更多的了。这是WebSockets握手的目的,以强制执行跨源安全限制。页面上的Javascript可以请求与任意主机的连接(就像AJAX请求一样),但是Javascript不能伪造原始头文件(只有浏览器才会设置)。网络内部的浏览器正在运行的Web服务器可以拒绝非本地的来源。网络内部的其他服务会因类似HTTP的握手而拒绝连接期(就像使用AJAX请求一样)。 – kanaka 2011-05-01 04:52:46

-2

首先,在标题中,你暗示websockets可能只是对先前想法(实际上是)的重新实现。然后,在正文中,你会看到防火墙的切线,而不仅仅是websocket。

所以,是的。防火墙应该从来没有被发明和发明者应当预见使用受信任的运输在这个例子中端口80

回答您的实际问题的WebSockets的发明或者其他什么,WebSockets的只是一个又一个不同类型网络上的抽象层。取决于相关软件,它们很可能不是常规套接字的替代品。

重塑车轮是开发者最喜欢的通行时间,特别是非开发人员转向web开发人员。我想它可以缓解由于基本的计算机素养与编程能力不同而导致的无理的自卑感的痛苦。

+0

-1用于暗示防火墙应该从未被发明过。 – Thomas 2011-04-29 22:21:29

+0

-1暗示WebSockets是一个已经存在的东西的低劣实现,没有引用以前的等效解决方案,也没有给出和证明它。如果你暗示套接字是一个优秀的先前发明,有没有试过从浏览器中做原始套接字?你不能。即使使用Flash,您仍然必须在目标上运行策略服务器以实现源安全性(websockets通过握手进行内联操作)。而最可用的彗星Comet则具有更高的开销,更高的延迟以及更复杂的使用。 – kanaka 2011-04-30 14:48:17

+1

@ kanaka,我相信artificialidiot是说WebSockets是一个正常套接字的改造,并没有明显的优势,引入WebSockets而不是让我们访问正常的套接字。 – Gili 2011-05-01 04:22:39

相关问题