淺析HTTP2與HTTPS的關係與區別

對於HTTP經常上網的朋友應該不陌生,但是對於HTTP2與HTTPS可能很多朋友還不是很清楚。本文就HTTP2與HTTPS的關係與區別來詳細說明一下。

一、HTTP2與HTTPS的關係

HTTP2與HTTPS同屬爲一種網絡傳輸協議。HTTP2(原名HTTP/2.0)即超文本傳輸協議2.0,是下一代HTTP協議。HTTPS是以安全爲目標的HTTP通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性,HTTPS在HTTP的基礎下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

二、HTTP2與HTTPS的區別

HTTP2雖然是下一代HTTP協議,做了一些改動(如二進制分幀、多路複用、頭部壓縮、服務器推送等),但是依然採取的是不加密的傳輸方式,容易導致數據在傳輸過程中被截取或篡改,無法保證數據的完整性。

而HTTPS採用的則是加密傳輸,就是在HTTP協議下增加了一層SSL協議,通過對整個通信線路進行加密來防止通信內容被竊聽、篡改或僞裝。

HTTPS採用的是混合方式加密,如下圖:

用文字說明一下大概就是這樣:

)用戶向web服務器發起一箇安全連接的請求

2)服務器返回經過CA認證的數字證書,證書裏面包含了服務器的public key(公鑰)

3)用戶拿到數字證書,用自己瀏覽器內置的SSL證書解密得到服務器的public key

4)用戶用服務器的public key加密一箇用於接下來的對稱加密算法的密鑰,傳給web服務器

5)因爲只有服務器有pite key可以解密,所以不用擔心中間人攔截這個加密的密鑰

6)服務器拿到這個加密的密鑰,解密獲取密鑰,再使用對稱加密算法,和用戶完成接下來的網絡通信。

在瞭解了HTTP2與HTTPS的關係與區別之後可以看出,通過HTTPS傳輸信息是非常安全的,第三者對數據無法進行竊聽,而且它還具有校驗機制,一旦被篡改,通信雙方會立刻發現,具體雙重保護作用。