HTML5 Websockets服务器要求

wil*_*age 11 javascript apache lamp html5 websocket

我花了整整一天的时间试图让我的头脑围绕HTML5 websockets,但我仍然有点困惑几点:

  1. 我是否需要在我的apache服务器上安装任何进一步的附件才能运行websocket服务器?
  2. 是否可以在共享服务器设置上运行websockets而无需访问服务器根目录?
  3. IE9是否支持websockets,如果没有,那么如果有这么有限的浏览器支持,是否有任何一点与它们一起使用?我应该看一下投票技巧吗?
  4. 如何运行同时的websockets(例如多个聊天应用程序实例)如何唯一地定义?
  5. 对于不支持websockets的浏览器,是否有可靠的回退?

希望有人在那里可以帮助我理解这些要点,非常有意义!

W.

kan*_*aka 4

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

是的,WebSockets 握手看起来很像 HTTP,所以很容易混淆,但即使它与 HTTP 升级请求兼容,它仍然只是为了让 Web 服务器能够轻松转发,而不是让 Web 服务器可以成为WebSockets 服务器。

WebSockets最近存在一个安全问题,这可能意味着大多数浏览器制造商将禁用 WebSockets,直到下一版本的协议准备就绪,但除此之外,WebSockets 几乎得到了普遍支持,因为没有本机支持的浏览器可以使用web-socket - js是基于 Flash 的后备。iOS 4.2 还支持 WebSockets(不过,由于安全问题,该支持可能会暂时禁用)。

所以你的问题的答案是:1) Mu 2) 是 3) 不太可能 4) 没有由 WebSockets 定义 5) 是:参见web-socket-js