HTTP2.0相比於HTTP1.1,核心優勢在哪裡

HTTP,人稱超文本傳輸協議,它是在應用層上的協議,與它對接的傳輸層的協議剛是TCP。為什麼不用UDP呢,因為UDP是不可靠的,而TCP是可以保證請求返回的順序的,這一點很重要。

HTTP2.0相比於HTTP1.1,核心優勢在哪裡

HTTP1.1

這是一個使用了很長時間的協議,並且目前還在使用,它的前面有0.9、1.0。HTTP1.1默認是個持久連接,也就是不用頻繁去創建連接,這對性能上提升是很大的,大家都知道,HTTP連接的創建是耗性能的。

以前的版本都是發一個請求,服務器回應後就會斷開連接,下一個請求時會重新創建連接。顯然,這種情況是必需改進的,於是有了HTTP1.1。雖然它是個長連接,但在連接中發送的多個請求還是會順序處理。這樣的話一旦有一個請求處理很久的話,那後面的請求就會被阻塞。在請求如此頻繁的今天顯然還是有些不太令人滿意,雖然可以同時保持幾個持久連接,但明顯還有改進的地方。

HTTP2.0

首先,它解決了1.1的長連接會遇到阻塞的問題。它採用的是多路複用的形式去解決這個問題。什麼是多路複用呢?就是一個通道可以讓多條線路同時佔用而不搞混。這裡的作法是為每一個請求帶一個編號,它樣服務器方就能為請求的回應對上號了。如果一個請求時間過長,那麼服務器就可以先暫停這個請求,先處理下一個請求,處理完再回來處理這個長請求,如果找回這個長請求呢,那就靠這個編號了。

除此之處,它還規定了HTTP傳輸的所有內容都轉為二進制進行傳輸,以前的版本只有頭部信息會轉為二進制,內容體並不會。不統一總會造成額外的麻煩。比如內容是文本,而文本是有多種樣式的,這樣的話解析它的一方就很麻煩了,要支持你各種樣式。

HTTP1.1和HTTP2.0的主要區別如下:

HTTP2.0(Hypertext Transfer Protocol Version 2)是超文本傳輸協議的第二版。HTTP 2.0相比於HTTP 1.x,大幅度的提升了web性能,同時向下兼容HTTP1.X協議版本。

Http2.0的核心優勢有

1、採用二進制格式傳輸數據,而非http1.1文本格式,二進制格式在協議的解析和優化擴展上帶來了跟多的優勢和可能

2、對消息頭採用Hpack進行壓縮傳輸,能夠節省消息頭佔用的網絡流量,http1.1每次請求,都會攜帶大量冗餘的頭信息,浪費了很多寬帶資源。

3、異步連接多路複用

4、Server Push,服務器端能夠更快的把資源推送到客戶端。

5、保持與HTTP 1.1語義的向後兼容性也是該版本的一個關鍵。


分享到:


相關文章: