您的位置:首页 > 运维架构 > 网站架构

怎么使用 JavaScript 将网站后台的数据变化实时更新到前端?

2016-01-25 18:33 561 查看
著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:李宏训

链接:http://www.zhihu.com/question/20255036/answer/14501889

来源:知乎

我知道有三种方式:

1,ajax短连接:客户端每隔一秒钟发一次请求,服务器收到请求后会立刻返回结果,不管有没有新数据。

2,ajax长连接:客户端发送一次请求,服务器端收到请求后查询有没有新数据,如果没有新数据就阻塞这个请求,直到有新数据或者超时为止。客户端每次收到请求返回结果后立刻再发一次请求。comet貌似就是这个原理。

3,WebSocket:这就不是一个HTTP协议了,而是一个tcp协议,而且Socket这个玩意顾名思义就是一个流了,可以双向操作。缺点是有些浏览器不支持。

对比延迟:

假设网络延迟是m毫秒,那么ajax短连接的延迟在m到1000毫秒之间,另外两种基本只有m毫秒的延迟。

对比资源占用:

应该是1>2>3。但是1和2的比较要看情况,如果两次请求间隔时间很长的话应该是2>1>3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: