HTTPS 与 HTTP 的区别在哪?
HTTP與HTTPS作為互聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)暮诵膮f(xié)議,其通信機制與安全特性深刻影響著現(xiàn)代網(wǎng)絡應用的可靠性與用戶體驗。本文將解析兩者的通信流程、安全機制及核心差異。
一、HTTP的通信機制
先來看看HTTP是什么吧。
HTTP基于TCP/IP協(xié)議棧,采用經(jīng)典客戶端-服務器模型:
- TCP連接建立
通過三次握手創(chuàng)建可靠傳輸通道(源IP:端口 目標IP:端口),默認端口80。 - 請求-響應交互
瀏覽器發(fā)起到服務器的 TCP 連接。
GET /index.html HTTP/1.1
Host: www.baidu.com
- 服務器處理與響應
服務器接收來自瀏覽器的 TCP 連接。
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
<html>...</html>
交換信息
瀏覽器(HTTP 客戶端)與 Web 服務器(HTTP 服務器)交換 HTTP 消息。連接終止
完成傳輸后通過四次揮手斷開連接,關閉 TCP 連接。
二、HTTPS的進化
HTTPS在HTTP與TCP層之間插入SSL/TLS加密層,通過三重防護機制應對安全威脅:
| 安全威脅 | 防護機制 | 實現(xiàn)方式 |
|---|---|---|
| 數(shù)據(jù)竊聽 | AES-256等對稱加密 | 會話密鑰動態(tài)協(xié)商 |
| 數(shù)據(jù)篡改 | SHA-256摘要算法 | 數(shù)字簽名驗證數(shù)據(jù)完整性 |
| 身份偽造 | X.509數(shù)字證書體系 | CA機構簽發(fā)服務器身份證書 |
那么,SSL 和 TLS 的區(qū)別是什么呢?
總的來說,SSL 和 TLS 沒有太大的區(qū)別。
SSL 指安全套接字協(xié)議(Secure Sockets Layer),首次發(fā)布與 1996 年。SSL 的首次發(fā)布其實已經(jīng)是他的 3.0 版本,SSL 1.0 從未面世,SSL 2.0 則具有較大的缺陷(DROWN 缺陷——Decrypting RSA with Obsolete and Weakened eNcryption)。很快,在 1999 年,SSL 3.0 進一步升級,新版本被命名為 TLS 1.0。因此,TLS 是基于 SSL 之上的,但由于習慣叫法,通常把 HTTPS 中的核心加密協(xié)議混稱為 SSL/TLS。
HTTPS握手流程:
- Client Hello:客戶端發(fā)送支持的加密套件+隨機數(shù)
- Server Hello:服務器選擇加密套件+證書+隨機數(shù)
- 密鑰交換:ECDHE算法生成預主密鑰
- 會話密鑰:通過HKDF算法生成加密密鑰
- 加密通信:應用層數(shù)據(jù)使用對稱加密傳輸
如下圖所示,以TLS層為例。
三、HTTP與HTTPS的不同
在協(xié)議層看看它們有什么不同。
| 對比維度 | HTTP | HTTPS |
|---|---|---|
| 傳輸加密 | 明文傳輸 | SSL/TLS加密傳輸 |
| 端口號 | 80 | 443 |
| 證書要求 | 無需證書 | 需CA簽發(fā)數(shù)字證書 |
| 響應速度 | RTT 3次 | RTT 5-7次(支持會話恢復) |
| 頭部結構 | 無加密標識 | 包含加密協(xié)議版本等安全參數(shù) |
| 資源消耗 | 低 | 增加15-20% CPU負載 |
四、HTTPS安全機制解析
- 混合加密體系
結合非對稱加密(RSA/ECC)的安全密鑰交換與對稱加密(AES)的高效數(shù)據(jù)加密,兼顧安全與性能。 - 證書鏈驗證
通過根證書→中間證書→服務器證書的信任鏈驗證,防止中間人攻擊。OCSP協(xié)議實時檢查證書吊銷狀態(tài)。 - HSTS策略
強制瀏覽器使用HTTPS連接,防范SSL剝離攻擊。
五、總結
- 端口號:HTTP 默認是 80,HTTPS 默認是 443。
- URL 前綴:HTTP 的 URL 前綴是
http://,HTTPS 的 URL 前綴是https://。 - 安全性和資源消耗:HTTP協(xié)議基于TCP協(xié)議構建,其傳輸?shù)臄?shù)據(jù)均為明文形式,且通信雙方無法驗證彼此身份。而HTTPS作為HTTP的安全演進版本,其通信架構分為兩層:底層通過SSL/TLS協(xié)議與TCP建立安全通道,上層則承載經(jīng)過加密處理的HTTP通信。該加密體系采用混合加密機制,即使用服務器數(shù)字證書中的公鑰對對稱會話密鑰進行非對稱加密傳輸,實際數(shù)據(jù)傳輸階段則采用高效對稱加密算法。相較于HTTP,HTTPS通過雙重加密機制顯著提升了安全性,但同時也因加解密運算增加了服務器的計算負載。
總結
以上是生活随笔為你收集整理的HTTPS 与 HTTP 的区别在哪?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win32绘图:绘制直线 矩形 圆形 曲
- 下一篇: java多线程系列(1)