欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > JS教程 >

AJAX推送与拉取模式的比较

发表于2019-04-23 22:02| 次阅读| 来源网络整理| 作者session

摘要:AJAX推送与拉取模式的比较

AJAX推送与拉取模式的比较

  利用Ajax可能开收回基于阅读器的具备高用户交互性和几乎不易察觉到提前的web运用。实时的动态数据比如旧事题目、证券报价和拍卖行情都需求尽快地发送给用户。但是,AJAX仍然受限于web申请/呼应架构的弱点,使得服务器不能推送实时动态的web数据。

  Delft科技大学的Engin Bozdag、Ali Mesbah和Arie van Deursen一同探讨了下面这些可能完成基于web的实时势情告诉的方法:

  1.HTTP拉取模式:在这种传统的方法中,客户端以用户可定义的工夫间隔去反省服务器上的最新数据。这种拉取模式的频率要足够高能力保证很高的数据精确度,但高频率能够会导致多余的反省,从而导致较高的网络流量。而另一方面,低频率则会导致错过更新的数据。现实地,拉取的工夫间隔应该等于服务器形状扭转的速度。

  2.HTTP流:这种方法由存在于不连续的HTTP衔接呼应中或某个XMLHttpRequest衔接中的服务器数据流所组成。

  3.反转AJAX:服务流运用到AJAX,就是所谓的反转AJAX 或许COMET 。它使得服务器在某事情发生时可能发送消息给客户端,而不需求客户端显式的申请。指标在于达到形状变化的实时更新。COMET利用了HTTP/1.1中的继续衔接的特性。经过HTTP/1.1,除非另作阐明,服务器和阅读器之间的TCP衔接会不断保持衔接形状,直到其中一方发送了一条显著的“关闭衔接”的消息,或许有超时以及网络谬误发生。

  4.长工夫轮询:也就是所谓的异步轮询,这种模式是纯服务器端推送模式和客户端拉取模式的混合。它是基于BAYEUX协定的。这个协定遵照基于主题的发布——订阅机制。在订阅了某个频道后,客户端和服务器间的衔接会保持打开形状,并保持一段事前定义好的工夫。假设服务器端没有事情发生,而发生了超时,服务器端就会申请客户端停止异步重新衔接。假设有事情发生,服务器端会发送数据到客户端,然后客户端重新衔接。

  在他们的试验性钻研中,作者们在一个应用COMET推送模式完成(Dojo的Cometd库)的AJAX运用和一个纯拉取模式的运用之间,对数据分歧性、服务器功能、网络功能以及数据遗失停止了比较。