魯斯前端布魯斯前端

文章中英模式

布魯斯前端面試題目 - HTTP vs HTTPS 完整比較

深入解析HTTP與HTTPS的區別,包括安全性、加密機制、TLS握手過程、性能影響、SEO考量及實際應用場景。掌握面試官最關心的網路安全核心知識點。

影片縮圖

懶得看文章?那就來看影片吧

HTTP 與 HTTPS 基本區別

HTTP和HTTPS是我們每天上網都在用的網頁傳輸協議,就像是網路世界的「郵差」,負責把網頁內容送到你的瀏覽器。兩者最大的差別就像是「明信片」和「密封信件」的區別:

特性HTTPHTTPS
安全性明文傳輸,像明信片加密傳輸,像密封信件
默認端口80443
網址開頭http://https://
需要證書不需要需要SSL/TLS證書
連接建立簡單直接需要額外TLS握手
搜尋排名較低Google輕微加分
適用場景純展示、非敏感內容登入、支付、表單提交

簡單來說,HTTPS就是給HTTP加了把鎖。技術上講是HTTP加上了SSL/TLS加密層,就像給你的網路通訊穿上了防彈衣,提供了三重保障:加密通訊內容、驗證網站真實身份、確保資料傳輸過程中沒被竄改。

HTTP 的安全漏洞

未加密的HTTP就像在公共場所大聲講電話,存在多種安全風險:

  • 1. 竊聽風險: 就像在咖啡廳用明信片寫私密訊息,任何人經過都能看到內容
  • 2. 中間人攻擊(MITM): 如同郵差可以偷看你的信,還能修改內容後再送達,而你完全不知情
  • 3. 會話劫持: 就像有人偷走了你的門禁卡,可以冒充你進出大樓,系統無法分辨
  • 4. 無法驗證身份: 類似接到自稱銀行的電話,但你無法確認對方真實身份,可能是詐騙集團
  • 5. 缺乏數據完整性: 如同你寄出的包裹在運送過程中被打開並替換了部分內容,而你收到時無法察覺

這些風險就像把你的銀行卡密碼寫在便利貼上貼在公佈欄,使得HTTP不適合傳輸敏感數據,如密碼、信用卡號、個人隱私信息等。

HTTPS 的加密機制

HTTPS 使用混合加密系統,就像雙重保險:

  1. 1. 非對稱加密: 如同上鎖的信箱 - 任何人都能投信(公鑰),但只有持有鑰匙的人才能開啟(私鑰)
  2. 2. 對稱加密: 像是雙方共用一把鑰匙的保險箱,速度快但需安全交換鑰匙
  3. 3. 數字證書(X.509 Certificate/SSL憑證): 類似政府頒發的身分證,由受信任的憑證機構(CA)簽發,包含網站公鑰和身份信息,證明網站真實身份
  4. 4. 數字簽名: 如同防拆封貼紙,一旦資料被改動就會顯示破損痕跡

HTTPS 透過這種機制解決了三大安全問題:

  • 1. 加密: 資料傳輸如同密碼信件,即使被截獲也無法讀取內容
  • 2. 身份驗證: 確保你連接的網站確實是真實網站,而非釣魚網站
  • 3. 數據完整性: 確保資料如同密封包裹,運送過程中不被竄改

TLS/SSL 握手過程詳解

HTTPS的握手過程就是前面提到的加密機制實際運作,每個步驟都解決了特定的安全漏洞:

  1. 1. 客戶端問候: 「你好,我能用這些加密方式通信」(發送可用加密算法)

    → 解決竊聽風險,建立加密通道的第一步

  2. 2. 服務器回應: 「這是我的身分證(數字證書)和公鑰」(客戶端從證書中獲取服務器公鑰)

    → 解決無法驗證身份問題,提供可信任的身份證明

  3. 3. 證書驗證: 客戶端檢查證書真偽,確認公鑰確實屬於目標網站

    → 防止中間人攻擊,確保連接到真實網站而非釣魚網站

  4. 4. 密鑰交換: 客戶端用服務器公鑰加密一個隨機密碼(只有服務器私鑰能解開)

    → 解決竊聽風險,確保密鑰交換過程不被竊聽

  5. 5. 生成共用密鑰: 雙方根據共享的隨機密碼生成相同的會話密鑰

    → 解決會話劫持問題,建立唯一的加密會話

  6. 6. 開始加密通信: 雙方用這把共同的會話密鑰加密所有後續通信

    → 解決缺乏數據完整性問題,確保數據傳輸過程不被篡改

注意:客戶端從不獲得服務器的私鑰,服務器私鑰始終保密。公鑰用於安全交換臨時密碼,之後雙方使用這個密碼派生出對稱加密的會話密鑰。

TLS 握手圖示

客戶端                                           服務器
   |                                               |
   |               Client Hello                    |
   |---------------------------------------------->|
   |                                               |
   |           Server Hello, Certificate           |
   |<----------------------------------------------|  ← 客戶端獲得服務器公鑰
   |                                               |
   |        Client Key Exchange, Finished          |
   |---------------------------------------------->|  ← 用公鑰加密隨機密碼
   |                                               |
   |               Server Finished                 |
   |<----------------------------------------------|
   |                                               |
   |         加密的應用數據(HTTP請求/響應)           |
   |<--------------------------------------------->|

HTTPS 是否可能被破解?

HTTPS 的安全性建立在多層保護上,就像一座有多道防線的城堡。但我們需要了解它的安全邊界:

  • 1. 理論上很安全:HTTPS 使用的加密算法就像超級複雜的密碼鎖,用現在的電腦幾乎不可能暴力破解

    破解一個 HTTPS 連接就像用牙籤挖一座山,需要數千年時間

  • 2. 實際的弱點:攻擊者通常不會硬碰硬,而是找系統的漏洞或設置錯誤

    就像小偷不會硬拆大門,而是找沒關好的窗戶或後門

    例如:使用過期的SSL版本、錯誤配置的證書、弱加密算法或未修補的伺服器漏洞

  • 3. 中間人攻擊:在不安全的網路(如公共WiFi)中,有人可能假裝是你要連接的網站

    但現代瀏覽器會像警衛一樣發出警告,提醒你可能有詐

  • 4. 證書信任問題:如果發證機構(CA)被攻破,就像身分證製造廠被劫持

    這就是為什麼瀏覽器會定期更新「可信任證件廠」的名單

  • 5. 終端安全:即使傳輸過程安全,如果你的電腦已中毒,資料還是會被偷

    HTTPS 只保護資料在路上的安全,不能保護你家裡的安全

  • 6. 量子計算威脅:未來的超級電腦可能會破解現有的加密方式

    就像古代的城牆遇到了現代炮彈,所以專家已在研發更強的防禦

HTTPS 安全性總結

正確設置的 HTTPS 對現在的技術來說是安全的。大多數「破解」其實是利用了:

  1. 1. 設置錯誤(就像忘了鎖門或用了生鏽的鎖)
  2. 2. 騙術(誘導你忽略瀏覽器的安全警告)
  3. 3. 設備已被入侵(你的電腦已經有間諜軟體)
  4. 4. 法律要求(政府命令公司提供後門)

總的來說,HTTPS 本身的加密系統非常堅固,在可預見的未來不太可能被直接破解。大多數安全問題來自於人為錯誤或設備本身的問題,而不是 HTTPS 協議的缺陷。

SEO 視角下的 HTTPS

搜索引擎(特別是Google)越來越重視網站安全性,HTTPS對SEO有多方面影響:

  • 1. 排名因素: Google明確表示HTTPS是排名信號,雖然權重較小
  • 2. Chrome安全提示: 非HTTPS網站標記為「不安全」,可能增加跳出率
  • 3. HTTP/2需求: 利用HTTP/2性能提升需要HTTPS
  • 4. 信任度提升: 安全的網站獲得更多用戶信任,間接提高轉化率
  • 5. 引薦來源信息: HTTPS到HTTP的跳轉會丟失引薦來源(referrer)信息

從SEO角度看,遷移到HTTPS是一項值得投資的策略,能夠確保網站不會因安全問題而在搜索結果中處於劣勢。

🔥 常見面試題目

(一) HTTP跟HTTPS的區別是什麼?

解答:HTTP與HTTPS的主要區別在於安全性:

HTTP

  • 🔓明文傳輸 - 資料在網路上未加密,容易被竊取
  • 🌐使用 80
  • 較快速 - 無需加密解密的運算開銷
  • 瀏覽器會標示為「不安全」連線

HTTPS

  • 🔒加密傳輸 - 透過SSL/TLS加密,確保資料安全
  • 🌐使用 443
  • 🔑需要SSL憑證 - 提供身份驗證與加密
  • SEO友好 - 搜尋引擎給予更高權重

簡單說,HTTPS就是HTTP加上安全層,提供三重保障:加密通訊內容、驗證網站身份、確保資料完整性。

(二) HTTPS工作原理與解決什麼問題?

解答:HTTPS透過混合加密系統工作:

🔑

非對稱加密:如同上鎖的信箱 - 任何人能投信(公鑰),只有擁有鑰匙的人能開啟(私鑰)

🔐

對稱加密:雙方共用一把鑰匙,傳輸速度快

📜

數字證書:如同網站的身分證,由可信任的機構(CA)簽發

HTTPS解決三大問題:

👁️

防竊聽:加密通訊內容,即使被截獲也無法讀取

🛡️

身份驗證:確保連接的是真實網站,非釣魚網站

數據完整性:確保資料傳輸過程中不被竄改