昨天我花了整整一个时间来试图解决HTML5的网页问题,但我仍然对以下几点感到困惑:
希望有人可以帮助我理解这些要点,非常有意义!
W上。
答案 0 :(得分:4)
不要将WebSockets视为Web服务器插件。 WebSockets是一种在浏览器和其他东西之间建立(几乎)原始套接字连接的方法。标准委员会希望允许Web服务器轻松地将WebSocket连接转发到其目标服务,但是从协议的v76开始,WebSockets握手明显与HTTP设置不兼容(出于模糊的安全原因)。这可能会在未来发生变化,特别是在v76设置过程中发现了严重的安全问题。
是的,WebSockets握手看起来很像HTTP,因此很容易混淆,但即使它与HTTP升级请求兼容,它仍然只是为了让Web服务器轻松转发,而不是webserver可以成为WebSockets服务器。
最近有security issue in WebSockets这可能意味着大多数浏览器制造商都会禁用WebSockets,直到协议的下一个版本准备就绪,但除此之外,WebSockets几乎普遍支持,因为没有原生支持的浏览器可以使用{{ 3}}这是一个基于Flash的回退。 iOS 4.2也支持WebSockets(尽管由于安全问题,可能会暂时禁用)。
因此,您的问题的答案是: 1)Mu 2)是3)不太可能4)WebSockets未定义5)是:请参阅web-socket-js
答案 1 :(得分:4)
对于不支持websockets的浏览器,是否有可靠的回退?
Socket.IO似乎运作良好。我还没有自己开发,但是我已经测试过使用它的应用程序与不支持WebSockets的浏览器本身。
对于它的价值,您可能希望在讨论和/或研究HTML5时放弃HTML5。 WebSockets不再是HTML5的一部分。如果您搜索“HTML5 WebSockets”的信息,则更有可能找到过时的信息。
答案 2 :(得分:0)
1)不。 2)是的。 3)谁知道。微软并没有像往常一样说,但可能不会这样说。
Firefox,Chrome和Opera都宣布他们暂时不支持网络套接字,因为标准不完整且存在安全问题。现在搞这个可能为时尚早。