https(hyper text transfer protocol over secure socket layer)是以安全為目標的 http 協議,在 http 的基礎上通過傳輸加密和身份認證的方式保證了傳輸過程的安全性。其工作流程如下:
客戶端發起乙個 https 請求,並連線到伺服器的 443 埠,傳送的資訊主要包括自身所支援的演算法列表和金鑰長度等;
服務端將自身所支援的所有加密演算法與客戶端的演算法列表進行對比並選擇一種支援的加密演算法,然後將它和其它金鑰元件一同傳送給客戶端。
伺服器向客戶端傳送乙個包含數字證書的報文,該數字證書中包含證書的頒發機構、過期時間、服務端的公鑰等資訊。
服務端傳送乙個完成報文通知客戶端 ssl 的第一階段已經協商完成。
ssl 第一次協商完成後,客戶端傳送乙個回應報文,報文中包含乙個客戶端生成的隨機密碼串,稱為pre_master_secre
,並且該報文是經過證書中的公鑰加密過的。
緊接著客戶端會傳送乙個報文提示服務端在此之後的報文是採用pre_master_secre
加密的。
客戶端向服務端傳送乙個 finish 報文,這次握手中包含第一次握手至今所有報文的整體校驗值,最終協商是否完成取決於服務端能否成功解密。
服務端同樣傳送與第 6 步中相同作用的報文,已讓客戶端進行確認,最後傳送 finish 報文告訴客戶端自己能夠正確解密報文。
當服務端和客戶端的 finish 報文交換完成之後,ssl 連線就算建立完成了,之後就進行和 http 相同的通訊過程,唯一不同的是在 http 通訊過程中並不是採用明文傳輸,而是採用對稱加密的方式,其中對稱金鑰已經在 ssl 的建立過程中協商好了。
計算機網路 HTTP
引子 前兩天看了 http 和 計算機網路 的第5章 運輸層 為了準確無誤地將資料送達目標處,tcp協議採用了 三次握手 three way handshaking 策略。三次握手 three way handshake 或三次聯絡。廣為流傳的譯名 三次 three way 並不準確。這裡的三次是指...
計算機網路 http
http,超文字傳輸協議hypertext transfer protocol。基於tcp,無狀態。http預設使用持續連線,但是也可以配置為使用非持續連線。持續連線就是指傳送請求,接收響應後,並不直接關閉tcp連線,再有下個http請求,還用這個tcp連線傳送 非持續連線就是傳送請求,接收響應後,...
計算機網路 HTTP
http的報文結構 http有兩類報文 請求報文和響應報文。它們的報文結構由三部分組成,分別為開始行 首部行和實體主體。開始行 用於區分是請求報文還是響應報文。首部行 用來說明瀏覽器 伺服器和報文主體的一些資訊 實體主體 在請求報文中一般都不用這個字段,響應報文中也可能沒有這個字段 在請求報文中,開...