1. 程式人生 > >http2.0

http2.0

二進位制

    Http2 採用二進位制傳輸資料,而非http1.x的文字格式。

多路複用

 http2的一個非常重要的改進。多路複用,簡單來說就是一條TCP連線上面可以併發多個請求。

 http1.x: 一個TCP連線上面同時只能傳送一個http請求,也就是說第二個請求必須等第一個請求的響應返回才能傳送。

 http 管線化:多個請求可在一個TCP連線中傳送,傳送過程中無需等待前面請求的響應(也就是說第二個請求不必等第一個的請求的響應返回即可傳送)。但是,客戶端必須順序接收響應,也就是說請求1響應未返回,那麼請求2響應也不會返回。如果前一個請求非常耗時,那麼後面的請求都會受到影響,這就是所謂的線頭阻塞。http管線化只能傳送冪等請求

http管線化並未實現真正的併發請求,大部分瀏覽器預設會關閉這一功能。

伺服器端推送

伺服器端可以主動推送資料到客戶端。

應用場景: 當客戶端請求一個web頁面的時候,伺服器端返回這個頁面。(http1.x)客戶端再次去請求這個頁面中的內嵌的js、css資源,(http/2)這個時候伺服器端就可以主動把客戶端需要的資源推送給客戶端。

http首部壓縮

為什麼要做首部壓縮呢?一個web頁面傳送的多個請求,http的首部可能都是相同的,http2.0採用HPACK壓縮,是專為http2.0設計的。

 

參考文章:

HTTP/2 新特性淺析 

 

http2 講解  

HTTP/2.0 相比1.0有哪些重大改進?