說說網絡協議

  現在大多數的應用都需要頻繁的請求網絡,對網絡庫進行優化的價值是巨大的。作爲一個業務團隊開發,網絡請求多是用基礎架構團隊提供的庫。最近做了一次對比,發現公司基礎架構團隊提供的網絡庫比標準 http 快很多(差不多一倍)。核心的優化有以下幾點。

  1. 長連接。keep-alive。這個比較常見。http 1.0 是發一次 http 請求建立一個 tcp 連接,用完就斷開連接。而 tcp 連接要 3 次握手建連,4 次握手斷連。真是浪費時間。就像我打個電話給 114 ,我問一個問題,電話就掛了,要問第二個問題,還得再撥一次。長連接就是我打了這個電話,可以問很多問題,直到我問完爲止。
  2. 多路複用,spdy / http2 提供的特性,就是說併發,多個 http 請求可以共用一個 tcp 連接了。1 的長連接還是一次還是隻能發送一個 http 請求。多路複用可以併發多個 http 請求。並且一個阻塞了不影響另一個。以打 114 爲例,我問問題的時候,我朋友也可以問問題,相互不影響。
  3. 頭部壓縮。http 1.0 壓縮了 body。spdy / http2 支持壓縮頭部了。可以節省流量。
  4. 減少建連、SSL 握手次數,通過預置證書就可以減少 SSL 握手的次數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章