我已经花了整整一天的时间试图了解HTML5网络套接字,但是我对以下几点感到有些困惑:
希望有人能帮助我理解这些要点,非常好!
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/