【07-03】3.http和https的通訊過程及區別
【07-03】3.http和https的通訊過程及區別
1.HTTP的通訊過程
HTTP是標準的Client/Server互動模型,客戶端(Client)發起,服務端(Server)響應。
1.使用DNS解析域名為IP地址
2.建立TCP請求,進行三次握手
3.瀏覽器傳送請求
4.伺服器響應瀏覽器,向瀏覽器傳送資料
5.通訊完成,TCP連結關閉
2.HTTPS的通訊過程
https通訊建立在SSL連結層之上的請求和響應
通訊過程:
1. 客戶端發起HTTPS請求
使用者在瀏覽器裡輸入一個https網址,然後連線到伺服器的443埠
2. 服務端的配置
採用HTTPS協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。這套證書其實就是一對公鑰和私鑰
3. 傳送伺服器的證書給客戶端
證書裡其實就是公鑰,並且還包含了很多資訊,如證書的頒發機構,過期時間等等
4. 客戶端解析驗證伺服器證書
這部分工作是由客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如:頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那麼就生成一個隨機值。然後用證書中公鑰對該隨機值進行非對稱加密
5. 客戶端將加密資訊傳送伺服器
這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通訊就可以通過這個隨機值來進行加密解密了
6. 服務端解密資訊
服務端將客戶端傳送過來的加密資訊用伺服器私鑰解密後,得到了客戶端傳過來的隨機值
7. 伺服器加密資訊併發送資訊
伺服器將資料利用隨機值進行對稱加密,再發送給客戶端
8. 客戶端接收並解密資訊
客戶端用之前生成的隨機值解密服務段傳過來的資料,於是獲取瞭解密後的內容
自己的理解
https的通訊過程可以理解為 特工和機關通訊
1.特工要向機關發起,彙報任務請求
2.機關這邊有一種加密通訊的方式:私鑰和公鑰 私鑰是用來解密的 公鑰是用來通訊的
機關私鑰:解密方式為去掉數字
機關公鑰:123456
3.然後機關將公鑰傳送給特工
4.特工這邊要驗證給公鑰的可靠性,如果不安全就選擇不去接觸,如果安全則結合公鑰,建立一個隨機祕鑰與公鑰進行混合
特工隨機祕鑰:床前明月光
特工加密祕鑰:1窗2前3明4月5光6=123456+床前明月光
5.特工將加密祕鑰後傳送給機關
6.機關使用自己的機關私鑰對特工的特工公鑰進行解密
機關私鑰 解密 特工公鑰
機關私鑰:解密方式為去掉數字
特工私鑰(床前明月光)=機關私鑰(解密方式為去掉數字)+特工加密祕鑰(1窗2前3明4月5光6)
7.機關安裝特工的隨機祕鑰加密後進行通訊
8.特工使用自己的隨機祕鑰對發來的資訊進行解密
3.HTTP和HTTPS的區別
埠 | 傳輸 | 安全性 | 證書 | |
HTTP | 80 | 非加密超文字傳輸協議 | 不安全 | 無證書 |
HTTPS | 443 | TLS/SSL加密的超文字傳輸協議 | 相對HTTP安全 | CA證書 |