1. 程式人生 > >Http和Https的之間的區別

Http和Https的之間的區別

1.什麼是 HTTPS?

HTTPS (基於安全套接字層的超文字傳輸協議 或者是 HTTP over SSL) 是一個 Netscape 開發的 Web 協議。

HTTPS = HTTP + SSL,HTTPS 在 HTTP 應用層的基礎上使用安全套接字層作為子層。

2.HTTP 和 HTTPS 的相同點

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

3.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 需要認證證書
4.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 請求
     5.什麼時候該使用 HTTPS?

銀行網站、支付閘道器、購物網站、登入頁、電子郵件以及一些企業部門的網站應該使用 HTTPS,例如:

  • PayPal: https://www.paypal.com
  • Google AdSense: https://www.google.com/adsense/

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