HTTP1 1與HTTP2 0的區別

2021-08-21 10:02:07 字數 835 閱讀 5694

http協議

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

現在網際網路上用到的基本都是http協議。協議嘛,它就是一種規則,具體什麼規則在這裡我就不介紹了,主要討論一下它有什麼特點。

這是乙個使用了很長時間的協議,並且目前還在使用,它的前面有0.9、1.0。http1.1預設是個持久連線,也就是不用頻繁去建立連線,這對效能上提公升是很大的,大家都知道,http連線的建立是耗效能的。以前的版本都是發乙個請求,伺服器回應後就會斷開連線,下乙個請求時會重新建立連線。顯然,這種情況是必需改進的,於是有了http1.1。雖然它是個長連線,但在連線中傳送的多個請求還是會順序處理。這樣的話一旦有乙個請求處理很久的話,那後面的請求就會被阻塞。在請求如此頻繁的今天顯然還是有些不太令人滿意,雖然可以同時保持幾個持久連線,但明顯還有改進的地方。

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

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

除此之外還有頭資訊壓縮和伺服器推送這裡就不詳細說了。

http 2 0與http 1 1的區別

http 2是http協議自1999年http1.1發布後的首個更新 主要基於spdy協議 2.0 採用二進位制 而不是文字格式 完全多路復用 而不是有序並阻塞的 只需要乙個連線即可實現並行 使用報頭壓縮 http 2降低了開銷 http 2讓伺服器可以將響應主動 推送 到客戶端快取中 為啥2.0 ...

HTTP1 1 與 HTTP2 0 知多少?

http是應用層協議,是基於tcp底層協議而來。tcp的機制限定,每建立乙個連線需要3次握手,斷開連線則需要4次揮手。http協議採用 請求 應答 模式,http1.0下,http1.1非keep alive模式下,每個請求都要新建乙個連線,完成之後立即斷開連線。如果有新的請求,則要重新建立請求連線...

http2 0 相對於 http1 1的優勢

1.http2.0完全是多路復用的,只需乙個連線就可實現並行 可以將不同的請求夾雜在一起,只需乙個連線就能載入乙個頁面。2.可以讓伺服器將響應主動推動到客戶端快取中 3.壓縮報頭,降低了開銷 http1.1不支援頭部壓縮,所以產生了spdy和http2.0協議,spdy使用的是通用的deflate演...