自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AJAX推送與拉取方式的比較

開發(fā) 前端
使用Ajax可以開發(fā)出基于瀏覽器的具有高用戶交互性和幾乎不易覺察到延遲的web應(yīng)用,本文向您介紹AJAX推送的相關(guān)知識。

  實時的動態(tài)數(shù)據(jù)比如新聞標(biāo)題、證券報價和拍賣行情都需要盡快地發(fā)送給用戶。然而,AJAX仍然受限于web請求/響應(yīng)架構(gòu)的弱點(diǎn),使得服務(wù)器不能推送實時動態(tài)的web數(shù)據(jù)。

  Delft科技大學(xué)的Engin Bozdag、Ali Mesbah和Arie van Deursen一起討論了下面這些可以實現(xiàn)基于web的實時事件通知的方法:

  1.HTTP拉取方式:在這種傳統(tǒng)的方法中,客戶端以用戶可定義的時間間隔去檢查服務(wù)器上的最新數(shù)據(jù)。這種拉取方式的頻率要足夠高才能保證很高的數(shù)據(jù)精確度,但高頻率可能會導(dǎo)致多余的檢查,從而導(dǎo)致較高的網(wǎng)絡(luò)流量。而另一方面,低頻率則會導(dǎo)致錯過更新的數(shù)據(jù)。理想地,拉取的時間間隔應(yīng)該等于服務(wù)器狀態(tài)改變的速度。

  2.HTTP流:這種方法由存在于不間斷的HTTP連接響應(yīng)中或某個XMLHttpRequest連接中的服務(wù)器數(shù)據(jù)流所組成。

  3.反轉(zhuǎn)AJAX:服務(wù)流應(yīng)用到AJAX推送,就是所謂的反轉(zhuǎn)AJAX 或者COMET 。它使得服務(wù)器在某事件發(fā)生時可以發(fā)送消息給客戶端,而不需要客戶端顯式的請求。目標(biāo)在于達(dá)到狀態(tài)變化的實時更新。COMET使用了HTTP/1.1中的持續(xù)連接的特性。通過HTTP/1.1,除非另作說明,服務(wù)器和瀏覽器之間的TCP連接會一直保持連接狀態(tài),直到其中一方發(fā)送了一條明顯的“關(guān)閉連接”的消息,或者有超時以及網(wǎng)絡(luò)錯誤發(fā)生。

  4.長時間輪詢:也就是所謂的異步輪詢,這種方式是純服務(wù)器端推送方式和客戶端拉取方式的混合。它是基于BAYEUX協(xié)議的。這個協(xié)議遵循基于主題的發(fā)布——訂閱機(jī)制。在訂閱了某個頻道后,客戶端和服務(wù)器間的連接會保持打開狀態(tài),并保持一段事先定義好的時間。如果服務(wù)器端沒有事件發(fā)生,而發(fā)生了超時,服務(wù)器端就會請求客戶端進(jìn)行異步重新連接。如果有事件發(fā)生,服務(wù)器端會發(fā)送數(shù)據(jù)到客戶端,然后客戶端重新連接。

  在他們的實驗性研究中,作者們在一個利用COMET推送方式實現(xiàn)(Dojo的Cometd庫)的AJAX推送應(yīng)用和一個純拉取方式的應(yīng)用之間,對數(shù)據(jù)一致性、服務(wù)器性能、網(wǎng)絡(luò)性能以及數(shù)據(jù)遺失進(jìn)行了比較。

【編輯推薦】

  1. 高手Java核心技術(shù)學(xué)習(xí)筆記
  2. 告訴你怎樣學(xué)Java才是硬道理
  3. 如何獲取Sun推出的Java認(rèn)證
  4. 共同學(xué)習(xí)Java環(huán)境變量
  5. JAVA環(huán)境變量的設(shè)置
責(zé)任編輯:王觀 來源: 天極網(wǎng)
相關(guān)推薦

2013-01-15 11:22:29

AjaxASP.NET

2013-04-10 18:48:56

微信公眾平臺技巧

2012-12-25 16:23:10

Android推送

2012-08-23 09:56:40

AJAX

2010-06-24 16:42:30

視頻監(jiān)控

2023-11-06 01:39:02

Go語言開發(fā)

2009-06-25 13:43:00

Buffalo AJA

2009-07-30 12:19:32

ASP.NET中使用A

2011-07-04 15:41:14

AjaxASP.NET

2024-12-27 11:24:22

RocketMQ存儲消息

2022-12-13 09:01:50

云原生組件數(shù)據(jù)

2019-10-21 11:43:00

DockerGradleJava

2009-12-25 16:58:19

ADSL接入方式

2011-04-01 16:14:17

ADSL接入方式PPPoE

2020-06-12 08:28:29

JavaScript開發(fā)技術(shù)

2010-04-25 16:55:38

實現(xiàn)負(fù)載均衡

2011-07-12 13:53:25

ASP.NETAjax

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2009-06-23 13:55:20

JavaFXRIA

2024-04-22 08:33:55

ReactDiffObject.is
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號