体育外围

當前位置: 首頁 > 網站建設 > HTTPS相關 > 淺析HTTP 2.0 Server Push,查看是否支持HTTP/2的方法

淺析HTTP 2.0 Server Push,查看是否支持HTTP/2的方法

發布于:2019-11-23 HTTPS相關 4條評論 11,082 views
如需VPS代購、PHP開發、服務器運維等服務,請聯系博主QQ:337003006

HTTP/2(超文本傳輸協議第2版,最初命名為HTTP 2.0),簡稱為h2(基于TLS/1.2或以上版本的加密連接)或h2c(非加密連接),是HTTP協議的的第二個主要版本,使用于萬維網。最初Google為了提高HTTP性能,做出了SPDY,它就是HTTP/2前身,后來也發展成為HTTP/2的標準。HTTP/2兼容HTTP 1.1,例如HTTP Method,Status code,URI以及大部分Header Fields。

HTTP/2特性

  • 多路復用請求;
  • 對請求劃分優先級;
  • 壓縮HTTP頭;
  • 服務器推送流(即Server Push技術)

HTTP/2 Server Push機制

在HTTP 1.1里,在同一個 TCP 連接里面,上一個回應(response)發送完了,服務器才能發送下一個,下圖是HTTP 1.1的傳輸過程。

Server Push模式下,請求一個HTML時,如果HTML里有CSS文件,server會一并推給client,下圖是HTTP 2.0傳輸過程。

假如一個HTML頁面index.html、包含一個CSS文件style.css一個圖片文件圖片example.png。在HTTP 1.1里為了處理這三個文件,Client需要發三個請求給Server,而Server Push可以一次性將index.html、style.css、example.png全部發送給瀏覽器。這樣只需要一輪 HTTP 通信,Client就得到了全部資源,從而大幅提高傳輸效率。

Chrome查看是否支持HTTP 2.0

如果您服務端開啟了HTTP/2支持(https才具有HTTP2.0特性),可以通過Chrome瀏覽器的開發者工具進行查看,快捷鍵是F12,默認情況下我們會看到的請求如下,但無法判斷是否支持HTTP/2

在標簽欄的地方鼠標右鍵 - 將protocol這個選項勾選上,如下圖。

再次刷新的時候可以看到protocol這一列顯示h2,則表示支持HTTP/2特性。

總結

簡單的來說就是HTTP 2.0讓傳輸效率更加高效,但是注意啟用了HTTPS并不代表一定支持HTTP/2,需要在WebServer添加對應參數才可以,目前國內CDN如又拍云、騰訊云、阿里云可以直接在后臺一鍵開啟HTTP/2,目前HTTP/3已經發布,如果您連HTTP/2都還沒啟用就有點out了。

此文部分內容參考了:


4 條評論 “淺析HTTP 2.0 Server Push,查看是否支持HTTP/2的方法”

  1. 說道:

    我就用的騰訊云CDN,開啟了HTTP2有什么好處呢?

    1. xiaoz說道:

      HTTP/2支持多路復用請求,簡單點說開啟后性能更好。

  2. 說道:

    看了下你的,走 CDN 的也是 SPDY, 沒走的是 H2。
    然后看了下我自己的,也是這樣。我記得我的又拍云,選擇了啟用 H2 的,還有,我還加入了 HSTS Preload, 這個是咋回事捏?

    1. xiaoz說道:

      我看了我的圖片CDN也是走的H2呢,您那邊是如何查看的呢?

發表評論