g)是一個從Web服務器發送數據到Web瀏覽器的機制。一般來說,Web服務器不響應終止后,已送達數據連接到客戶端。這是用于Web技術的結合,如HTTP服務器推送和Lon
正文
推送技術
Push Technology [pu? t?k'nɑl?d??]
在客戶機/服務器的應用程序中,推送技術能夠向客戶機傳送數據而無需其發出請求,例如發送電子郵件。相比較而言,萬維網卻是基于拉技術(Pull Technology),因此客戶機瀏覽器必須事先向網頁發出請求,所需信息才能被傳送過來。傳播媒介都屬于推技術的應用范疇,因為不管是否有人接收,他們的信息都照發不誤。
一般應用
推送服務通常是在事先表達喜好的信息。這就是所謂的發布/訂閱模型。一個客戶端可能“訂閱”的各種信息“通道”。每當新的內容可以在這些渠道之一,服務器會推出的信息給用戶。
同步會議和即時消息是推動服務的典型例子。郵件和聊天,有時文件推到了只要他們是由信息服務受到了用戶。同行都分散的對等程序(如廢物),并集中程序(如IRC或XMPP協議)允許推送文件,這意味著發送者發起數據傳輸,而不是接受者。
電郵也是一個推動系統:SMTP協議的基礎上,它是一個推動協議(見PushMail)。不過,最后一步,從郵件服務器到桌面計算機通常使用的POP3或IMAP像拉協議。現代電子郵件客戶端走這一步似乎瞬間通過反復投票的郵件服務器,經常檢查新郵件了。 IMAP協議包括IDLE命令,它允許服務器告訴客戶端新郵件到達時。原來的黑莓是第一推技術流行的例子了在無線方面的電子郵件。
另一種普及型互聯網推送技術為pointcast公司網絡,該網絡在1990年代獲得了知名度。它傳遞新聞和股市數據。 網景和微軟自己的軟件集成到它在瀏覽器大戰的高度,但后來逐漸消失,并在與RSS(一拉技術)2000年代取代。
其他用途的Web應用,包括推動市場數據發布(股票行情),在線聊天/消息系統(網上聊天),拍賣,網上博彩和游戲,運動的結果,監測主機和傳感器網絡監控。
技術
HTTP服務器推送(HTTP server push)
HTTP服務器推送(也稱為HTTP streaming)是一個從Web服務器發送數據到Web瀏覽器的機制。 HTTP服務器推送可以通過幾種機制來實現。
一般來說,Web服務器不響應終止后,已送達數據連接到客戶端。該網站的服務器連接葉片等開放,如果接收到事件時,可以立即被發送到一個或多個客戶端。否則數據將被排隊,直到客戶端的下一個請求被接收。大多數Web服務器通過CGI提供這一功能(例如非解析頭在Apache腳本)。
另一種機制是與一種特殊的MIME類型,稱為多重/的X -混合取代,這是由網景在1995年。 Web瀏覽器將其解釋為改變每當服務器就像推一個新版本的文件到客戶端感受到這一點。它仍然支持由Firefox,歐朋瀏覽器和Safari的今天,但傳統上由微軟忽略。可以應用到HTML,也為串流影像的攝像頭應用。
1.0 Web應用程序的WHATWG建議包括一種機制來推送內容給客戶端。 9月1日,2006年,Opera網絡瀏覽器執行了這項新的實驗技術的功能稱為“服務器發送的事件?!比藗儸F在正作為html5的一部分規范化。另一個HTML5的相關部分是WebSockets API,它允許Web服務器和客戶端通信通過一個全雙工TCP連接。
Java pushlet
原本是一個pushlet開發Java Web應用程序,雖然同樣的技術可以在其他web框架,以及聘請的技術。在這種技術中,服務器需要持久HTTP連接響應的優勢,永遠離開了“開放”(即它永遠不會終止反應),將有效地愚弄“裝入”模式繼續瀏覽器的初始頁面加載后,通常是完整的。然后,服務器發送的ECMAScript片段定期更新網頁內容,從而實現推動能力。通過使用這一技術并不需要在客戶端的Java小應用程序或其他插件保持開放的連接到服務器。該客戶端將自動通知由服務器推向新的事件。一個嚴重的缺點,這種方法,然而,缺乏控制在瀏覽器中的服務器超時。一個頁面刷新總是必要的,如果在瀏覽器上超時結束時發生。
Long polling
Long polling是一種傳統的輪詢技術的變化,并允許一個信息推送仿真從服務器到客戶端。隨著Long polling,客戶端請求從一個類似的方式到正常的投票服務器的信息。但是,如果服務器沒有發送一空,而不是任何反應為客戶提供的信息,服務器保存請求,并等待一些信息可用。一旦信息變得可用(或之后一個合適的超時),一個完整的響應被發送到客戶端。然后,客戶端通常會立即重新從服務器請求信息,因此服務器將幾乎總是有一個可用的等待請求,它可以使用,以期在響應事件的數據。在web / AJAX的背景下,Long polling也被稱為Comet programming。
Long polling本身并不是一種推送技術,但可以根據實際情況推動使用。
Flash XMLSocket relay
這種技術是由cbox等聊天應用,使得XMLSocket對象使用一個單像素的奧多比 Flash電影。在ECMAScript的控制,客戶端建立一個服務器上的一個單向傳遞TCP連接。中繼服務器不讀取這個插座什么,而是立即向客戶機發送一個唯一的標識符。接下來,客戶端發出一個HTTP請求到Web服務器,包括它這個標識符。 Web應用程序可以然后推給了繼電器的服務器,它在閃光燈插座繼電器他們的本地接口的客戶端的消息。這種方法的優點是它贊賞自然讀寫不對稱,是許多Web應用程序,包括聊天典型,因此它提供了高效率。由于它不接受即將離任的插座上的數據,中繼服務器不需要輪詢都傳出TCP連接,從而能夠容納數千的并發連接打開數萬。在此模型中,規模限制是TCP協議棧底層的服務器操作系統。
其它技術
Comet一詞已被用于描述應用到Ajax的Web應用程序推技術。這是用于Web技術的結合,如HTTP服務器推送和Long polling(見上文)作為總稱。
XMPP是通常用于推送應用程序以及,特別是PubSub的擴展。蘋果公司使用其移動我推支持這項技術。
波什是一項長期的HTTP技術在XMPP使用,但可以在網絡上使用。該規范(XEP - 0124:雙向,在同步的HTTP(波什)流)條規定:本規范定義了一個傳輸協議,它模仿了一個長壽命,雙向兩個實體之間的TCP(如客戶端和服務器)連接的語義通過有效地使用,而不需要頻繁輪詢或使用多個分塊同步響應HTTP請求/響應對。
參考資料 >