HTML 5 Websockets 会取代 Comet 吗?

标签 html comet websocket server-push

看起来 HTML 5 中的 Websockets 将成为服务器推送的新标准。

这是否意味着称为 Comet 的服务器推送 hack 将过时?

当 Websockets 很快(1-2 年)将在所有主要浏览器中可用时,我是否应该学习如何实现 comet?

然后我就可以使用 BeaconpushPusher相反,直到那时对吗?

最佳答案

这个拼图有两 block :

问:“ cometd ”的客户端部分是否必要?

答:是的。即使在接下来的 2 年内,您也不会在“主要”浏览器中看到对 WebSockets 的完全支持。例如 IE8 不支持它,当前版本的 FireFox 也不支持。鉴于 IE6 于 2001 年发布并且至今仍在使用,我认为 WebSockets 不会很快完全取代 Comet。

问:“ cometd ”的服务器端部分是否有必要?

答:是的。 Comet 服务器旨在处理长期存在的 HTTP 连接,而“典型”Web 服务器则不会。即使客户端支持 WebSockets,服务器端仍需要设计以处理负载。

此外,正如“gustavogb”所提到的,至少目前 WebSockets 在很多 HTTP 代理中都没有得到适当的支持,所以在所有这些都得到更新之前,我们仍然需要某种回退机制。

简而言之:今天存在的 cometd 不会很快消失。

补充说明:目前在 Chrome 和 Safari 中实现的 WebSockets 版本是两个不同的草案,“当前”草案的工作仍在非常繁重的开发中,所以我什至不相信它是现实的说目前 WebSockets 支持是有效的。当然,出于好奇或学习,但不是真正的规范,至少现在还不是。

[更新,2/23/11]

当前发布的 Safari 版本有一个损坏的实现(它没有发送正确的 header ),Firefox 4 刚刚弃用了 WebSockets,所以它不会发布启用,并且 IE9 isn't looking good either .看起来 Chrome 是唯一一个具有工作规范草案的启用版本的,因此 WebSockets 还有很长的路要走。

关于HTML 5 Websockets 会取代 Comet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3436555/

相关文章:

javascript - 基于 Django 自定义页面的 CMS

html - 如何打破CSS中父元素类的继承?

php - 长轮询服务器

websocket - xsockets.net(.NET WebSocket 服务器)如​​何在 Windows 2008 上运行?

python - 如何在几秒钟后停止 python websocket 连接?

ios - 如何使用 SRWebsocket 检查网络套接字是否处于事件状态

javascript - HTML 滚动 : how to avoid it to "cut" my inner elements

html - 为什么浏览器控制输入类型文件按钮?

ajax - 是否有可能 "multiplex"来自同一页面的许多 AJAX 请求?

asp.net - Comet 在 ASP.NET 中使用异步页面更容易吗?