HTML 5中的websockets会替换部分页面刷新的ajax吗?

时间:2010-07-02 04:08:32

标签: html ajax

我偶然发现HTML 5中的websockets功能here。乍一看似乎一旦Firefox和IE加入规范,ajax可能是多余的。我的问题是,在你看来,ajax(使用jquery $ .ajax()甚至是直接的XMLHttpRequest / other)会被这个新的ws://协议取代吗?

如果是这样,我们何时应该开始改变我们的开发方法?

3 个答案:

答案 0 :(得分:5)

Websockets满足与XMLHTTPRequests不同的需求。后者就是它的名字所说的:一个请求:你知道你需要一些东西(例如,因为用户点击了一个链接,滚动或其他任何东西)并且你检索它 - 而且XHR做得很好。

当可以在服务器端触发某些应该实时推送到客户端的事件时,麻烦就开始了。你现在唯一能做的就是定期轮询服务器 - 这是一个带有一系列问题的黑客攻击。这正是Websockets所针对的问题:为浏览器提供反向通道以进行实时通知。

我认为Ajax XOR Websockets是一种错误的二分法。它们满足不同的需求,可以和平共存。

答案 1 :(得分:0)

当浏览器开始实现Web套接字时。

答案 2 :(得分:0)

我有点怀疑。所有主流浏览器都在1999年开始支持ajax,并且在推出gmail之后,它在2005年左右开始普及。我们甚至还没有达到这一点,主流浏览器支持websockets(再增加几年)。

采用ajax的延迟背后有一个简单的原因:网站需要支持旧的浏览器版本。 (请记住,有多少人仍使用IE 6& 7?)