https第一次傳送請求過慢 https原理及流程

2021-10-13 17:05:34 字數 1000 閱讀 8381

一、總結:兩次互動過程,三個秘鑰。

第一次互動:用非對稱加密的公鑰和私鑰商量下通訊使用的真實秘鑰

第二次互動:用真實秘鑰進行加密通訊

詳情如下:

https在傳輸的過程中會涉及到三個金鑰:

伺服器端的公鑰和私鑰,用來進行非對稱加密

客戶端生成的隨機金鑰,用來進行對稱加密

二、過程描述:

乙個https請求實際上包含了兩次http傳輸,可以細分為8步。

1.客戶端向伺服器發起https請求,連線到伺服器的443埠

2.伺服器端有乙個金鑰對,即公鑰和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人。

3.伺服器將自己的公鑰傳送給客戶端。

4.客戶端收到伺服器端的公鑰之後,會對公鑰進行檢查,驗證其合法性,如果發現發現公鑰有問題,那麼https傳輸就無法繼續。嚴格的說,這裡應該是驗證伺服器傳送的數字證書的合法性,關於客戶端如何驗證數字證書的合法性,下文會進行說明。如果公鑰合格,那麼客戶端會生成乙個隨機值,這個隨機值就是用於進行對稱加密的金鑰,我們將該金鑰稱之為client key,即客戶端金鑰,這樣在概念上和伺服器端的金鑰容易進行區分。然後用伺服器的公鑰對客戶端金鑰進行非對稱加密,這樣客戶端金鑰就變成密文了,至此,https中的第一次http請求結束。

5.客戶端會發起https中的第二個http請求,將加密之後的客戶端金鑰傳送給伺服器。

6.伺服器接收到客戶端發來的密文之後,會用自己的私鑰對其進行非對稱解密,解密之後的明文就是客戶端金鑰,然後用客戶端金鑰對資料進行對稱加密,這樣資料就變成了密文。

7.然後伺服器將加密後的密文傳送給客戶端。

8.客戶端收到伺服器傳送來的密文,用客戶端金鑰對其進行對稱解密,得到伺服器傳送的資料。這樣https中的第二個http請求結束,整個https傳輸完成。

第一次訓練賽 H

fzu 1075 假設x是乙個正整數,它的值不超過65535 即1input 輸入的第一行含乙個正整數k 1 k 10 表示測試例的個數,後面緊接著k行,每行對應乙個測試例,包含乙個正整數x。output 每個測試例對應一行輸出,輸出x的素數乘積表示式,式中的素數從小到大排列,兩個素數之間用 表示乘...

優化EF Code First第一次請求速度

由於ef code first模式沒有模型檔案,所以很多一次請求的時候速度比較慢,ef需要將對應的資料庫對映關係載入到記憶體裡面,往後請求就比較快。可以通過在程式初始化的時候增加一段 來優化ef第一次執行的速度,具體 如下 ef暖機操作 using companycontext dbcontext ...

第一次飛行

開始敲下這段話時,窗外下面正是一片片陽光照耀著的白雲,伴隨著張學友的歌聲,心潮起伏.雖然從初中起,我就經常乙個人坐著火車,汽車東奔西跑,坐飛機卻是第一次.早上上飛機前,心裡忐忑,必竟還是踏在陸地上踏實.但上了飛機後注意力就放在其它地方上去了,而且,運氣好的是我有乙個靠窗的位置.飛機準備起飛了,助跑加...