2012-05-07 26 views
49

感謝Google和堆棧溢出,我想我理解了常規HTTP流水線和HTTP多路複用(例如SPDY)之間的區別,所以我在下面的圖表中顯示了流水線和基於三個常規HTTP請求的多路複用。HTTP pipeling和HTTP多路複用與SPDY之間的差異

enter image description here

我的兩個問題是:

  1. 圖像是否正確?
  2. 是不是真的,如果流水線不會有head-of-line blocking problem它會像HTTP多路複用一樣快?還是我錯過了一個額外的差異?

回答

47

這不是不正確的,但它有一個重要方面,它省略了。 HTTP要求您在可以繼續執行任何其他請求之前交付整個響應。您在圖表中顯示的內容是正確的,因爲使用SPDY我們可以最終打破「線頭」要求並在可用時提供響應。但是,我們也不必等待任何請求完全完成。假設兩個請求,幾個kb的大小:每個請求將有多個數據包,稱它們爲[r1p1, r1p2][r2p1, r2p2]。 HTTP要求pN按正確的順序到達。 SPDY,另一方面允許我們以下:[r2p1, r1p1, r1p2, r2p2]

還值得一提的是,使用SPDY,我們可以使用請求優先級向服務器提示哪些請求應該優先,即使它稍後到達網絡(其中有六個其他優秀功能)。

+0

@Matt你+ 1ed *答案*,因爲*問題*包含一個很棒的圖表?或者,也許你只是附加了你的評論錯誤... –

+0

是的,附上了不正確的評論。 – Matt

+1

第二個問題呢? >是否真的如果流水線不會遇到線頭阻塞問題,它會像HTTP多路複用一樣快?還是我錯過了一個額外的差異? – CMCDragonkai

相關問題