天天看點

優化HTTP請求和響應的方法

為什麼要進行請求和響應的優化?

核心目的:更快的擷取到内容。

核心思路

  1. 更好的連接配接傳輸效率。
  2. 更少的請求數量。
  3. 更小的資源大小。
  4. 合适的緩存政策。

最佳實踐

  1. 減少DNS查找:每次主機名的解析都需要一次網絡往返,進而增加了請求的延遲時間,同時還會阻塞後續的請求。
  2. 重用TCP連接配接:盡可能的使用持久連接配接,以消除因TCP握手和慢啟動導緻的延遲。
  3. 減少HTTP重定向:HTTP重定向需要額外的DNS查詢,TCP握手等非常耗時,最佳的重定向次數為0。
  4. 壓縮傳輸的資源:比如Gzip、圖檔緩存。
  5. 使用緩存:比如HTTP緩存、CDN緩存、Service Worker緩存。
  6. 使用CDN内容分發網絡:把資料放在裡使用者地理位置更近的地方,可以明顯減少每次TCP連接配接的網絡延遲,增大吞吐量。
  7. 删除沒有必要請求的資源。
  8. 在用戶端緩存資源:緩存必要的應用資源,避免每次都重複請求相同的内容,例如多圖檔下載下傳可以考慮使用緩存。
  9. 内容在傳輸前先壓縮:傳輸資料之前應該先壓縮應用資源,把要傳輸的位元組減少到最小,在壓縮的時候確定對每種不同的資源采用最好的壓縮手段。
  10. 消除不必要的請求開銷:減少請求的HTTP首部資料(比如HTTP Cooki)
  11. 并行處理請求和響應:請求和響應的排隊都會導緻延遲,可以嘗試并行的處理請求和響應(利用多個HTTP1.1連接配接實作并行下載下傳,在可能的情況下使用HTTP管道計數)。
  12. 針對協定版本采取優化措施:例如更新到HTTP2.0。
  13. 根據需要采用服務端渲染方式:這種方式可以解決SPA應用首屏渲染慢的問題。
  14. 采用預渲染的方式加速靜态頁面:頁面渲染的極緻性能,比較适合靜态頁面。

繼續閱讀