HTTPS 比 HTTP 多了什么?TLS 握手到底握了几次手?证书链怎么验证?ECDHE 为什么比 RSA 更安全?一张图看懂全流程,从原理到代码。
一、HTTPS = HTTP + TLS
HTTP(明文传输):
Client ←──────────── HTTP ────────────→ Server
风险:窃听、篡改、伪造
HTTPS(加密传输):
Client ←── TLS 握手 ──→ Server(建立加密通道)
Client ←── 加密 HTTP ──→ Server(密文传输)
解决:加密(防窃听)、校验(防篡改)、证书(防伪造)
TLS 版本演进:
SSL 3.0 (1996) → 已废弃(POODLE 攻击)
TLS 1.0 (1999) → 已废弃
TLS 1.1 (2006) → 已废弃
TLS 1.2 (2008) → 主流(2-RTT 握手)
TLS 1.3 (2018) → 最新(1-RTT 握手,0-RTT 恢复)
2026/7/3大约 8 分钟