一文就讓你搞懂http和https的通訊過程及區別

2022-09-14 17:03:12 字數 1217 閱讀 3722

一、 http與https的區別

1、埠:http埠號是 80;https埠號是 443

2、傳輸協議:http是超文字傳輸協議,屬於明文傳輸;https是安全的超文字傳輸協議,是經過ssl加密後的傳輸協議

3、安全性:https使用了tls/ssl加密,比http更加的安全

4、證書:https需要申請ca證書

二、http的通訊過程

作為標準的c/s模型,http協議總是由客戶端發起,伺服器進行響應。

1、dns解析,網域名稱系統dns將網域名稱解析成ip位址

2、建立tcp連線,進行tcp的三次握手

3、瀏覽器傳送請求

4、伺服器響應瀏覽器,向瀏覽器傳送資料

5、通訊完成,tcp連線關閉

三、https的通訊過程

https通訊是建立在ssl連線層之上的請求和響應,客戶端將加密元件傳送到服務端,服務端進行匹配後將數字證書等資訊傳送到客戶端,客戶端進行證書驗證,驗證通過後使用非對稱加密對資料的金鑰進行協商,協商後得到對稱的加密金鑰,然後使用對稱演算法進行tcp鏈結,然後與客戶端進行三次握手後,進行資料傳輸,傳輸完成後,四次揮手,斷開鏈結,通訊結束。

通訊過程如下 :

1、客戶端和伺服器端通過tcp建立連線,並傳送https請求。

2、伺服器響應請求,並將數字證書傳送給客戶端,數字證書包括公共秘鑰、網域名稱、申請證書的公司。

3、客戶端收到伺服器端的數字證書之後,會驗證數字證書的合法性。

4、如果公鑰合格,那麼客戶端會生成client key,乙個用於進行對稱加密的金鑰,並用伺服器的公鑰對客戶端金鑰進行非對稱加密。

5、客戶端會再次發起請求,將加密之後的客戶端金鑰傳送給伺服器。

6、伺服器接收密文後,會用私鑰對其進行非對稱解密,得到客戶端秘鑰。並使用客戶端秘鑰進行對稱加密,生成密文並傳送。

7、客戶端收到密文,並使用客戶端秘鑰進行解密,獲取資料。

一文搞懂HTTP和HTTPS協議

1.什麼是協議?網路協議是計算機之間為了實現網路通訊而達成的一種 約定 或者 規則 有了這種 約定 不同廠商的生產裝置,以及不同作業系統組成的計算機之間,就可以實現通訊。2.http協議是什麼?http協議是超文字傳輸協議的縮寫,他是從web伺服器傳輸超文字標記語言 html 到本地瀏覽器的傳送協議...

一文搞懂transform skew

目錄 如何理解斜切 skew,先看乙個 demo。在下面的 demo 中,有 4 個正方形,分別是 紅色 不做 skew 變換,綠色 x 方向變換,藍色 y 方向變換,黑色 兩個方向都變換,拖動下面的滑塊可以檢視改變 skew 角度後的效果。切換 selector 可以設定 transform or...

一文搞懂併發和並行

併發和並行是兩個非常容易混淆的概念。它們都可以表示兩個或多個任務一起執行,但是偏重點有點不同。併發偏重於多個任務交替執行,而多個任務之間有可能還是序列的。併發是邏輯上的同時發生 simultaneous 而並行是物理上的同時發生。然而並行的偏重點在於 同時執行 並行 parallel 指在同一時刻,...