HTTPS的基本概念

2021-09-12 12:45:37 字數 1847 閱讀 1437

什麼是 https?

https (基於安全套接字層的超文字傳輸協議 或者是 http over ssl) 是乙個 netscape 開發的 web 協議。

你也可以說:https = http + ssl

https 在 http 應用層的基礎上使用安全套接字層作為子層。

為什麼需要 https ?

超文字傳輸協議 (http) 是乙個用來通過網際網路傳輸和接收資訊的協議。http 使用請求/響應的過程,因此資訊可在伺服器間快速、輕鬆而且精確的進行傳輸。當你訪問 web 頁面的時候你就是在使用 http 協議,但 http 是不安全的,可以輕鬆竊聽你跟 web 伺服器之間的資料傳輸。在很多情況下,客戶和伺服器之間傳輸的是敏感資訊,需要防止未經授權的訪問。為了滿足這個要求,網景公司(netscape)推出了 https,也就是基於安全套接字層的 http 協議。

http 和 https 的相同點

大多數情況下,http 和 https 是相同的,因為都是採用同乙個基礎的協議,作為 http 或 https 客戶端——瀏覽器,設立乙個連線到 web 伺服器指定的埠。當伺服器接收到請求,它會返回乙個狀態碼以及訊息,這個回應可能是請求資訊或者指示某個錯誤傳送的錯誤資訊。系統使用統一資源定位器 uri 模式,因此資源可以被唯一指定。而 https 和 http 唯一不同的只是乙個協議頭(https)的說明,其他都是一樣的。

http 和 https 的不同之處

1. http 的 url 以 http:// 開頭,而 https 的 url 以 https:// 開頭

2. http 是不安全的,而 https 是安全的

3. http 標準埠是 80 ,而 https 的標準埠是 443

4. 在 osi 網路模型中,http 工作於應用層,而 https 工作在傳輸層

5. http 無需加密,而 https 對傳輸的資料進行加密

6. http 無需證書,而 https 需要認證證書

https 如何工作?

使用 https 連線時,伺服器要求有公鑰和簽名的證書。

當使用 https 連線,伺服器響應初始連線,並提供它所支援的加密方法。作為回應,客戶端選擇乙個連線方法,並且客戶端和伺服器端交換證書驗證彼此身份。完成之後,在確保使用相同金鑰的情況下傳輸加密資訊,然後關閉連線。為了提供 https 連線支援,伺服器必須有乙個公鑰證書,該證書包含經過證書機構認證的金鑰資訊,大部分證書都是通過第三方機構授權的,以保證證書是安全的。

換句話說,https 跟 http 一樣,只不過增加了 ssl。

http 包含如下動作:

1. 瀏覽器開啟乙個 tcp 連線

2. 瀏覽器傳送 http 請求到伺服器端

3. 伺服器傳送 http 回應資訊到瀏覽器

4. tcp 連線關閉

ssl 包含如下動作:

1. 驗證伺服器端

2. 允許客戶端和伺服器端選擇加密演算法和密碼,確保雙方都支援

3. 驗證客戶端(可選)

4. 使用公鑰加密技術來生成共享加密資料

5. 建立乙個加密的 ssl 連線

6. 基於該 ssl 連線傳遞 http 請求

什麼時候該使用 https?

1. paypal:

2. google adsense:

如果某個**要求你填寫信用卡資訊,首先你要檢查該網頁是否使用 https 加密連線,如果沒有,那麼請不要輸入任何敏感資訊如信用卡號。

瀏覽器整合

多數瀏覽器在收到乙個無效證書的時候都會顯示警告資訊,而一些老的瀏覽器會彈出對話方塊讓使用者選擇是否繼續瀏覽。新的瀏覽器一般在整個視窗顯示橫幅的警告資訊,同時在位址列上顯示該**的安全資訊。如果**中包含加密和非加密的混合內容,多數瀏覽器會提示警告資訊。

原文:

HTTPS的基本概念

https 基於安全套接字層的超文字傳輸協議 或者是 http over ssl 是乙個 netscape 開發的 web 協議。你也可以說 https http ssl https 在 http 應用層的基礎上使用安全套接字層作為子層。超文字傳輸協議 http 是乙個用來通過網際網路傳輸和接收資訊...

HTTPS的基本概念

本文 什麼是 https?https 基於安全套接字層的超文字傳輸協議 或者是 http over ssl 是乙個 netscape 開發的 web 協議。你也可以說 https http ssl https 在 http 應用層的基礎上使用安全套接字層作為子層。為什麼需要 https 超文字傳輸協...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...