HTTP2的協議協商機制

2021-08-20 12:56:31 字數 996 閱讀 1685

http/2 使用和 http/1.1 一樣的 「http」 和 「https」 的 url 模式。同時 http/2 和 http/1.1 也共享了相同的預設埠號:」http」 的 80 埠,」https」 的 443 埠。

字串 「h2c」 標示執行在明文 tcp 之上的 http/2 協議(http模式);

字串 「h2」 標示使用了 tls的 http/2 協議(https模式);

請求頭示例:

如果服務端不支援 http/2,它會忽略 upgrade 字段,直接返回 http/1.1 響應,例如:

如果服務端支援 http/2,那就可以回應 101 狀態碼及對應頭部,並且在響應正文中可以直接使用 http/2 二進位制幀:

使用場景:url模式為http的場景;

使用注意:需要請求鏈路中的所有七層裝置識別upgrade欄位;

檢視這裡

使用場景:url模式為https的場景;

使用注意:需要客戶端和服務端支援alpn協議;

參考:

http2 協議協商過程

http 2 協議剛剛發布不久,http1.1的伺服器和客戶端依然大量存在,新老協議必定長期共存一段時間。這樣,瀏覽器和伺服器就需要協商使用何種協議進行通訊。主流的方法是使用alpn或者npn來做協商。區別是有的。就在於誰持有會話協議的決定權。alpn是由客戶端給伺服器傳送乙個協議清單,由伺服器來最...

公升級HTTP 2協議

首先只有使用https協議的站點可以公升級http 2協議 nginx如果想要公升級http 2需要滿足以下要求 nginx版本要高於1.9.5 with http ssl module 跟 with http v2 module 必帶 因為http2.0協議需要使用https協議。yum inst...

http2協議的理解

http2的優點 1.多路復用。基於同乙個連線 並行傳送多個請求。2.服務端推送。nginx還不支援。3.請求頭部壓縮。服務端和客戶端,建立連線後需要共同維護乙個頭部表。後面的請求,只需攜帶跟上一次請求不同的頭部字段資訊。4.二進位制楨。有兩種http2協議 一 瀏覽器實現的http2協議 1.必須...