怎么使用 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。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:李宏训
链接: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。
相关文章推荐
- Direct Access技术之二:DA架构及原理
- iOS系统架构和Object-C基本数据类型(1)
- 2016年软件架构经验分享篇――序列
- Android Studio开发架构和第三方类库
- CSDN公司-数据平台架构草案
- 【转】无缝世界网游服务器架构的设计思路
- 【转】无缝世界网游服务器架构的设计思路
- 蘑菇街-社会化电商平台技术架构探索与实践
- 国外威客网站大盘点
- 国外威客网站大盘点
- 浅谈三层架构
- debian下完成 haproxy +keepalived 高可用web集群架构
- 你的架构是如何一步步腐化的?
- 周爱民:真正的架构师是没有title的(图灵访谈)
- 大型网站架构系列:分布式消息队列(一)
- LVS +DR +keepalived高可用性web集群
- 分布式Web服务器架构
- 国外优秀开源网站
- Spark入门实战系列--4.Spark运行架构
- 如何为 Drupal 7 网站添加悬浮的反馈按钮?