javascript - HTML5 Websockets 服务器要求

标签 javascript apache html lamp websocket

我整个昨天都在努力研究 HTML5 websockets,但我对以下几点仍然有些困惑:

  1. 我是否需要在我的 apache 服务器上安装任何附加组件才能运行 websocket 服务器?
  2. 是否可以在共享服务器设置上运行 websockets 而无需访问服务器根目录?
  3. IE9 会支持 websockets 吗?如果不支持,那么在浏览器支持如此有限的情况下使用它们还有意义吗?我应该看看轮询技术吗?
  4. 如何同时运行 websocket(例如多个聊天应用程序实例)?每个 websocket 是如何唯一定义的?
  5. 对于不支持 websockets 的浏览器是否有可靠的后备方案?

希望有人能帮我理解这些要点,非常感谢!

W.

最佳答案

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

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

最近有一个security issue in WebSockets这可能意味着大多数浏览器制造商将在下一版本的协议(protocol)准备就绪之前禁用 WebSockets,但除此之外,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/

相关文章:

javascript - jquery $(window).height() 和 $(document).height() 返回相同

javascript - 尽管返回正确数据的代码背后有 Ajax 调用返回空响应

windows - 如何手动创建 Apache Windows 服务

javascript - 如何将 "tick"按钮放入 jquerymobile 滑动面板

javascript - Ti.App.fireEvent - 引用错误 Ti 未定义

javascript - 如何使用 supertest 和 jest 测试图像上传(流)?

apache - 使用 mod_rewrite 匹配奇数或偶数

wordpress - 如何防止用户访问 wp admin 和 wp-login.php?

javascript - 用于降低网页复杂性的跨平台 (JavaScript) 工具?

html - 排列按钮 html