HTTP基礎知識 3 HTTPS

2021-08-21 11:10:49 字數 959 閱讀 3592

一,http的缺點:

1,通訊使用明文(不加密),內容可能會被竊聽。

2,不驗證通訊方的身份,因此有可能遭遇偽裝。

3,無法證明報文的完整性,所以有可能已遭篡改。

二,http+加密+認證+完整性保護=https

https並非是應用層的一種新的協議。只是http通訊介面部分用ssl(secure socket layer)和tls(transport layer security)協議代替而已。

通常,http直接和tcp通訊。當使用ssl時,則先和ssl通訊,再由ssl和tcp通訊。其實https就是身披ssl協議的http.

三,https的加密方式(採用混合加密機制)

四,如何保證公鑰是有效的

在第 2步時伺服器傳送了乙個ssl證書給客戶端,ssl 證書中包含的具體內容有:

(1)證書的發布機構ca

(2)證書的有效期

(3)公鑰

(4)證書所有者

(5)簽名

客戶端在接受到服務端發來的ssl證書時,會對證書的真偽進行校驗,以瀏覽器為例說明如下:

(1)首先瀏覽器讀取證書中的證書所有者、有效期等資訊進行一一校驗

(2)瀏覽器開始查詢已內建的受信任的證書發布機構ca,與伺服器發來的證書中的頒發者ca比對,用於校驗證書是否為合法機構頒發

(3)如果找不到,瀏覽器就會報錯,說明伺服器發來的證書是不可信任的。

(4)如果找到,那麼瀏覽器就會取出已內建 頒發者ca 的公鑰,然後對伺服器發來的證書裡面的簽名進行解密

(5)瀏覽器使用相同的hash演算法計算出伺服器發來的證書的hash值,將這個計算的hash值與證書中簽名做對比。

HTTP 基礎知識

具體去看原文 你應該知道的http基礎知識 1.http請求報文格式 http的請求報文分為三個部分請求行 請求頭和請求體。1.1 請求行 請求行 request line 分為三個部分 請求方法 請求位址和協議及版本,以crlf r n 結束。http 1.1定義的請求方法有8中 get post...

HTTP 基礎知識

標籤位於文件的頭部,不包含任何內容。標籤的屬性定義了與文件相關聯的名稱 值對。標籤永遠位於 head 元素內部。http equiv 屬性為名稱 值對提供了名稱。並指示伺服器在傳送實際的文件之前先在要傳送給瀏覽器的 mime 文件頭部包含名稱 值對。當伺服器向瀏覽器傳送文件時,會先傳送許多名稱 值對...

HTTP基礎知識

get 用於請求訪問已經被uri 統一資源識別符號 識別的資源,可以通過url傳參給伺服器 post 用於傳輸資訊給伺服器,主要功能與get方法類似,但一般推薦使用post方式。put 傳輸檔案,報文主體中包含檔案內容,儲存到對應uri位置。head 獲得報文首部,與get方法類似,只是不返回報文主...