http1.1管線話 vs htttp2.0 多路復用


  • 圖中第一種請求方式,就是單次發送request請求,收到response后再進行下一次請求,顯示是很低效的。
  • 於是http1.1提出了管線化(pipelining)技術,就是如圖中第二中請求方式,一次性發送多個request請求。
  • 然而pipelining在接收response返回時,也必須依順序接收,如果前一個請求遇到了阻塞,后面的請求即使已經處理完畢了,仍然需要等待阻塞的請求處理完畢。這種情況就如圖中第三種,第一個請求阻塞后,后面的請求都需要等待,這也就是隊頭阻塞(Head of line blocking)。
  • 為了解決上述阻塞問題,http2中提出了多路復用(Multiplexing)技術,Multiplexing是通信和計算機網絡領域的專業名詞。http2中將多個請求復用同一個tcp鏈接中,將一個TCP連接分為若干個流(Stream),每個流中可以傳輸若干消息(Message),每個消息由若干最小的二進制幀(Frame)組成。也就是將每個request-response拆分為了細小的二進制幀Frame,這樣即使一個請求被阻塞了,也不會影響其他請求,如圖中第四種情況所示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM