天天看點

http與http2對比http演變曆史http相關優化http1.0對比http1.1http1.0和http1.1現存的問題為了解決安全性問題http2.0的出現

http演變曆史

http0.9于1991釋出

http1.0于1995釋出

http1.1于1999釋出

http2.0于2015釋出

http相關優化

影響http的快慢兩個主要因素

  • 帶寬

    目前帶寬速度基本不缺,現在到處是百兆寬帶 百兆光纖 千兆光纖

  • 延遲

    延遲是目前還可以優化的主要部分

  1. 浏覽器阻塞,浏覽器對于同一個域名同時請求個數是有限制,根據浏覽器核心不同,限制請求個數是不一,但基本是個位數,超過請求個數就會阻塞,必須等前面的請求完成
  2. DNS查詢,域名解析是比較費時的,但通常可以利用DNS緩存來減少域名解析時間,DNS查詢順序為:浏覽器緩存-電腦hosts檔案-本地DNS伺服器-根域名伺服器-頂級域名伺服器
  3. 建立連接配接,http是基于tcp的,每次建立連接配接需要進行三次握手和四次揮手

http1.0對比http1.1

  • http1.1支援了長連接配接,在一個tcp連接配接上支援多個http請求,減少了建立和關閉連接配接所花費的時間
  • http1.1增加了更多的緩存政策,比E-Tag、If-None-Match,http1.0使用的是last-modified、If-Modified-Since
    http與http2對比http演變曆史http相關優化http1.0對比http1.1http1.0和http1.1現存的問題為了解決安全性問題http2.0的出現

http1.0和http1.1現存的問題

  1. 每一次傳輸資料都需要重建立立連接配接,延遲較多
  2. 傳輸均為明文,用戶端和服務端均無法驗證雙方身份,存在一定的資料安全
  3. 請求的header部分内容較大,增加傳輸成本,且很多時候header部分是不變的
  4. 雖然http1.1有長連接配接的功能,但長連接配接使用過多也給服務端帶來了更大的性能壓力,特别是對于一些圖檔類視訊類等資源型的伺服器,如果長期保持長連接配接他是沒必要的,但給伺服器是大的性能浪費

為了解決安全性問題

為了解決安全性問題就出現了https,https是http協定和ssl協定的組合使用

http與http2對比http演變曆史http相關優化http1.0對比http1.1http1.0和http1.1現存的問題為了解決安全性問題http2.0的出現

http2.0的出現

新特性

  • 采用新的二進制格式,http1.1的格式是基于文本的,基于的文本的解析考慮場景是較為複雜的,因為文本表現是多樣的。而http2.0采用的是二進制,隻有0和1,解析較為友善
  • 多路複用,即可以共享連接配接,不需要重複多次建立連接配接,多個請求可共用一個tcp連接配接
  • header壓縮和緩存
  • 服務端推送,支援伺服器主動向用戶端推送消息
    http與http2對比http演變曆史http相關優化http1.0對比http1.1http1.0和http1.1現存的問題為了解決安全性問題http2.0的出現