我已经花了整整一天的时间试图了解HTML5网络套接字,但是我对以下几点感到有些困惑:

  • 我是否需要在apache服务器上安装任何其他插件才能运行websocket服务器?
  • 是否可以在共享服务器设置上运行websocket,而无需访问服务器根目录?
  • IE9是否会支持websockets,如果没有,那么如果浏览器支持如此有限,是否有什么用处呢?我应该看看轮询技术吗?
  • 如何同时运行websocket(例如,多个聊天应用程序实例),每个都如何唯一定义?
  • 不支持websocket的浏览器是否有可靠的后备?

  • 希望有人能帮助我理解这些要点,非常好!

    W.

    最佳答案

    不要将WebSockets视为Web服务器插件。 WebSockets是一种在浏览器和其他东西之间建立(几乎)原始套接字连接的方法。标准委员会希望允许Web服务器轻松将WebSocket连接转发到其目标服务,但是从协议(protocol)v76开始,WebSockets握手明显与HTTP设置不兼容(出于模糊的安全性考虑)。将来可能会改变这种情况,尤其是在v76设置过程中发现严重的安全问题的情况下。

    是的,WebSockets握手看起来很像HTTP,因此很容易混淆,但是即使它与HTTP Upgrade请求兼容,它仍然仅仅是为了使Web服务器能够轻松转发,而不是使Web服务器成为WebSockets服务器。

    最近有一个security issue in WebSockets,这可能意味着大多数浏览器制造商都将禁用WebSocket,直到该协议(protocol)的下一个版本就绪为止,但除此之外,WebSockets受到了广泛的支持,因为没有 native 支持的浏览器可以使用web-socket-js,这是基于Flash的后备。 iOS 4.2还具有WebSockets支持(尽管同样,由于安全问题可能会暂时禁用它)。

    因此,对您的问题的答案是: 1)Mu 2)是3)不太可能4)未由WebSockets定义5)是:请参见web-socket-js

    关于javascript - HTML5 Websockets服务器要求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4407834/

    10-11 13:58