摘要:允許應用層協(xié)商應該在安全連接上采用哪個協(xié)議,以避免額外且獨立于應用層協(xié)議的往返協(xié)商通信。因此應用層協(xié)議協(xié)商是在握手階段進行的。通過應用層協(xié)議協(xié)商機制,可以保證服務器與瀏覽器的兼容。
隨著網(wǎng)絡傳輸數(shù)據(jù)量的劇增,網(wǎng)絡數(shù)據(jù)的傳輸優(yōu)化已經(jīng)變得刻不容緩。而 CDN 支持 HTTP/2 可以在很大程度緩解數(shù)據(jù)量大帶來的傳輸壓力。
HTTP/2 針對每個服務器只使用一個連接,省去了多次建立連接的時間,提升了網(wǎng)站的訪問速度。還通過壓縮頭部數(shù)據(jù),提升了網(wǎng)站的緩存利用率和加載速度。同時 HTTP/2 減少了 TLS 的性能損失,可以讓更多的應用使用 TLS,進一步保證了用戶的數(shù)據(jù)安全。
△ HTTP/1.1、HTTP/2 傳輸性能對比
到目前為止,絕大部分瀏覽器已經(jīng)支持 HTTP/2 協(xié)議了,但是還有部分瀏覽器存在不支持 HTTP/2 的問題,那在瀏覽器不支持 HTTP/2 的情況下,用戶訪問網(wǎng)站時會不會受到影響?
這里面就涉及 HTTP/2 的應用層協(xié)議協(xié)商機制,今天我就跟大家聊聊它。
什么是應用層協(xié)議協(xié)商應用層協(xié)議協(xié)商(Application-Layer Protocol Negotiation,簡稱 ALPN)是一個進行應用層協(xié)議協(xié)商的傳輸層安全協(xié)議(TLS)擴展。ALPN 允許應用層協(xié)商應該在安全連接上采用哪個協(xié)議,以避免額外且獨立于應用層協(xié)議的往返協(xié)商通信。
應用層協(xié)議協(xié)商的作用應用層協(xié)議協(xié)商機制的作用簡單來說,如果瀏覽器本身不支持 HTTP/2, TLS 握手過程中 ALPN 擴展中就不會帶 h2,CDN 服務端也不會選擇 HTTP/2 作為后續(xù)協(xié)議。而是會和瀏覽器進行協(xié)商,選擇 HTTP/2 或者 HTTP 1.1 。
不同情況下的協(xié)商結果 服務端與瀏覽器如何進行協(xié)商那么服務端和瀏覽器是怎么通過應用層協(xié)商協(xié)議進行協(xié)商的呢?
這里就要講一下 HTTP/2 協(xié)議的另一個特點。雖然 HTTP/2 本身并沒有要求它必須基于 HTTPS(TLS)部署,但是目前幾乎所有的 HTTP/2 和 HTTPS 都是捆綁在一起的,并且當前的主流瀏覽器,都只支持基于 HTTPS(TLS) 部署的 HTTP/2。
因此 HTTP/2 應用層協(xié)議協(xié)商是在 TLS 握手階段進行的。當瀏覽器在建立 TLS 連接時,通過 ALPN 擴展列出了瀏覽器支持的各種應用層協(xié)議。這其中,HTTP/2 協(xié)議的標識為 “h2”。圖2為瀏覽器 Client Hello 階段 ALPN 拓展列出了瀏覽器支持的三種協(xié)議。
△圖3
圖3 為服務端 Server Hello 階段響應瀏覽器的協(xié)議,并判斷使用 HTTP/2 傳輸協(xié)議的結果。以又拍云 CDN 服務端為例,又拍云 CDN 服務端是默認支持了 HTTP/2 協(xié)議的,在 Server Hello 中通過 ALPN 擴展的展示結果中列出了 h2。如果瀏覽器不支持 HTTP/2 協(xié)議,那么 CDN 服務端就會從瀏覽器的 ALPN 列表中選定一個瀏覽器可以支持的協(xié)議并進行返回,比如 HTTP/1.1 協(xié)議。
又拍云 CDN 服務端同時支持 HTTP/1.1。在這種情況下,即使瀏覽器不支持 HTTP/2,雙方也可以協(xié)商出可用的 HTTP 傳輸協(xié)議,保證了瀏覽器的兼容性問題。
綜上所述,在瀏覽器不支持 HTTP/2 的情況下,用戶訪問網(wǎng)站時不會受到影響。通過應用層協(xié)議協(xié)商機制,可以保證服務器與瀏覽器的兼容。
目前又拍云 CDN 服務已全平臺支持 HTTP/2,并且默認開啟。只要使用又拍云 HTTPS 加速服務的域名,就可免費享受 HTTP/2 服務,無需做任何特殊配置。
另外 HTTP/2 協(xié)議對 TLS 有著嚴格的限制,只能使用 TLSv1.2+ 以上的版本。而又拍云 HTTPS 已經(jīng)支持 TLSv1.0、TLSv1.1、TLSv1.2 的協(xié)議了,可以完全兼容 HTTP/2 協(xié)議。所以,老鐵們大可放心使用又拍云的 HTTPS 服務 ,同時享受免費的 HTTP/2 。
參考內容來源:
Jerry Qu的博客
維基百科-HTTP2
推薦閱讀:一文讀懂 HTTP/2 特性文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/10960.html
摘要:允許應用層協(xié)商應該在安全連接上采用哪個協(xié)議,以避免額外且獨立于應用層協(xié)議的往返協(xié)商通信。因此應用層協(xié)議協(xié)商是在握手階段進行的。通過應用層協(xié)議協(xié)商機制,可以保證服務器與瀏覽器的兼容。 隨著網(wǎng)絡傳輸數(shù)據(jù)量的劇增,網(wǎng)絡數(shù)據(jù)的傳輸優(yōu)化已經(jīng)變得刻不容緩。而 CDN 支持 HTTP/2 可以在很大程度緩解數(shù)據(jù)量大帶來的傳輸壓力。 HTTP/2 針對每個服務器只使用一個連接,省去了多次建立連接的時間...
摘要:內容主要有四個方面趨勢基礎實踐調試。一趨勢這一章節(jié)主要介紹近幾年和未來的趨勢,包括兩大瀏覽器和對的態(tài)度,以及淘寶天貓和阿里云的實踐情況。完整性是指為了避免網(wǎng)絡中傳輸?shù)臄?shù)據(jù)被非法篡改,使用算法來保證消息的完整性。 摘要: 本文邀請阿里云CDN HTTPS技術專家金九,分享Tengine的一些HTTPS實踐經(jīng)驗。內容主要有四個方面:HTTPS趨勢、HTTPS基礎、HTTPS實踐、HTTPS...
閱讀 2879·2021-11-24 09:39
閱讀 3130·2021-11-19 10:00
閱讀 1535·2021-10-27 14:17
閱讀 1811·2021-10-14 09:43
閱讀 961·2021-09-03 10:30
閱讀 3412·2019-08-30 15:54
閱讀 2728·2019-08-30 13:05
閱讀 2005·2019-08-30 11:02