1. 程式人生 > >使用 JavaScript 將網站後臺的資料變化實時更新到前端-【知乎總結】

使用 JavaScript 將網站後臺的資料變化實時更新到前端-【知乎總結】

2、 我知道有三種方式: 1,ajax短連線:客戶端每隔一秒鐘發一次請求,伺服器收到請求後會立刻返回結果,不管有沒有新資料。 2,ajax長連線:客戶端傳送一次請求,伺服器端收到請求後查詢有沒有新資料,如果沒有新資料就阻塞這個請求,直到有新資料或者超時為止。客戶端每次收到請求返回結果後立刻再發一次請求。comet貌似就是這個原理。 3,WebSocket:這就不是一個HTTP協議了,而是一個tcp協議,而且Socket這個玩意顧名思義就是一個流了,可以雙向操作。缺點是有些瀏覽器不支援。
對比延遲: 假設網路延遲是m毫秒,那麼ajax短連線的延遲在m到1000毫秒之間,另外兩種基本只有m毫秒的延遲。 對比資源佔用: 應該是1>2>3。但是1和2的比較要看情況,如果兩次請求間隔時間很長的話應該是2>1>3。 3、
用comet,其實也是ajax 了。 只是前端傳送一個請求後,服務端保持這個請求。有資料就事實返回。沒資料就一直保持這個連線。你會說如果連線斷了、超時呢,斷了就再發起。 著作權歸作者所有。
商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
連結:http://www.zhihu.com/question/20255036/answer/14502842
來源:知乎