天天看點

說說網絡協定

  現在大多數的應用都需要頻繁的請求網絡,對網絡庫進行優化的價值是巨大的。作為一個業務團隊開發,網絡請求多是用基礎架構團隊提供的庫。最近做了一次對比,發現公司基礎架構團隊提供的網絡庫比标準 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 握手的次數。

繼續閱讀