https(hypertext transfer protocol over secure socket layer,基於ssl的http協議)使用了http協議,但https使用不同於http協議的預設埠及乙個加密、身份驗證層(http與tcp之間)。
客戶端在使用https方式與web伺服器通訊時有以下幾個步驟,如圖所示。
(1)客戶使用https的url訪問web伺服器,要求與web伺服器建立ssl連線。
(2)web伺服器收到客戶端請求後,會將**的證書資訊(證書中包含公鑰)傳送乙份給客戶端。
(3)客戶端的瀏覽器與web伺服器開始協商ssl連線的安全等級,也就是資訊加密的等級。
(4)客戶端的瀏覽器根據雙方同意的安全等級,建立會話金鑰,然後利用**的公鑰將會話金鑰加密,並傳送給**。
(5)web伺服器利用自己的私鑰解密出會話金鑰。
(6)web伺服器利用會話金鑰加密與客戶端之間的通訊。
http:80埠 https:443埠
1 . 信任主機
採用https 的server 必須從ca 申請乙個用於證明伺服器用途型別的證書. 此證書只有用於對應的server 的時候,客戶端才信任此主機.
2 . 通訊過程中的資料的洩密和被竄改
1. 一般意義上的https, 就是 server 有乙個證書.
a) 主要目的是保證server 就是他聲稱的server. 這個跟第一點一樣.
b) 服務端和客戶端之間的所有通訊,都是加密的.
i. 具體講,是客戶端產生乙個對稱的金鑰,通過server 的證書來交換金鑰. 一般意義上的握手過程.
ii. 加下來所有的資訊往來就都是加密的. 第三方即使截獲,也沒有任何意義.因為他沒有金鑰. 當然竄改也就沒有什麼意義了.
2. 少許對客戶端有要求的情況下,會要求客戶端也必須有乙個證書.
a) 這裡客戶端證書,其實就類似表示個人資訊的時候,除了使用者名稱/密碼, 還有乙個ca 認證過的身份. 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份.
b) 目前少數個人銀行的專業版是這種做法,具體證書可能是拿u盤作為乙個備份的載體.
HTTP學習筆記 HTTP協議
tcp ip協議按層次分為四層 應用層,傳輸層,網路層,資料鏈路層。該層決定了向使用者提 用服務時通訊的活動。如ftp和dns服務等。傳輸層有兩個性質不同的協議 tcp和udp協議。網路層的作用就是計算機之間通過網路裝置進行傳輸時,選擇一條傳輸路線。用來處理連線網路的硬體部分,硬體上的範疇均在該層的...
HTTP學習之 HTTP協議
前後端資料互動基於http協議 包括 客戶端 和 服務端 兩個實體 客戶端傳送請求給服務端,服務端返回響應給客戶端 在http中的資料稱為資源,可以是html文件 文字 資源是通過url進行定位的,當客戶端需要訪問伺服器端資源時,首先需要知道資源的url url的組成部分有 協議,主機,埠號,路徑,...
HTTP協議學習
1 什麼是http協議?http是超文字傳輸協議,是基於tcp ip協議之上實現的用於客戶端和伺服器之間資料傳輸的一種協議 2 什麼是http協議的無狀態?怎麼解決http協議的無狀態?解決 使用cookie或者session來保持會話 3 http支援的方法有哪些?一共有8種請求方法 get 獲取...