> HTTP + 加密 + 認證 + 完整性保護 = HTTPS
HTTPS是身披外殼的HTTP
HTTPS並不是一種協議。
HTTPS協議有兩種組成: HTTP + SSL / TSL,也就是HTTP上層又加入了一層加密信息的模塊。
HTTPS的通信過程
圖很醜,但是還好,理解了自己獨立畫的。
推薦圖解 HTTPS 通信過程
圖很棒,也通俗易懂。
1、發送請求
2、服務器配置
服務器的配置,實用HTTPS必須要有一套數字證書。證書可以自己製作也可以向組織申請。
證書其實就是公鑰,包含了很多基本信息。(相關:非對稱加密)
3、發送數字證書(公鑰)
4、客戶端驗證數字證書
客戶端使用TSL協議驗證證書。(證書包括過期日期、頒發機構等。)
驗證通過則生成一段隨機數。(後面會作爲祕鑰對reponse進行對稱機密)
發生異常則會彈出警告。
5、傳送加密後的隨機數
隨機數使用數字證書進行非對稱加密之後發送給服務端
6、服務端解密隨機數
服務端使用私鑰將隨機數進行解密,之後將response以隨機數爲祕鑰進行對稱加密。
7、傳送加密後的信息
8、客戶端解密
HTTPS的缺點
由於客戶端和服務端都需要進行加密解密,所以網絡請求不可避免的會變慢。2個原因。
1、大量的加密解密給CPU增加了壓力。
2、大量的加密解密需要一定的時間。