相對http1.1,http 2在性能和功能上有顯著的提升,主要優勢如下:
主要優勢包括以下幾個方面:
-
多路復用:HTTP/2允許在單個TCP連接上并發多個請求和響應,這意味著多個請求可以同時進行,而不會相互阻塞。這種特性顯著提高了網絡利用率和響應速度12。
-
頭部壓縮:HTTP/2使用HPACK算法對請求和響應頭進行壓縮,減少了傳輸的數據量,從而節省了帶寬并加快了傳輸速度。頭部壓縮可以減少傳輸的字節數,通常可以減少70%到85%的頭部數據13。
-
二進制傳輸:HTTP/2使用二進制格式進行數據傳輸,而不是HTTP/1.x的文本格式。這種改變使得數據傳輸更加高效,減少了處理時間13。
-
服務器推送:HTTP/2支持服務器推送功能,服務器可以主動向客戶端發送資源,減少了客戶端的請求次數,提高了加載速度和用戶體驗45。
-
兼容性:HTTP/2與HTTP/1.x兼容,可以在不修改應用代碼的情況下使用。HTTP/2保留了HTTP/1.x的語義,如請求方法、狀態碼等,只是在傳輸層進行了優化13。
-
安全性:HTTP/2通常與HTTPS一起使用,提供了數據傳輸的安全性。HTTPS本身提供了加密功能,而HTTP/2則優化了加密數據的傳輸效率
整個交互示例如下:
交互的結果選擇是選擇用http2還是http 1.1,取決于服務端
如下圖示例為:客戶端告訴服務端支持h2和http1.1,而服務端選擇了用http1.1交互

