Skip to content

入门

基于 HTTP 现代标准 · 核于 2026-06

速查

  • HTTPS = HTTP over TLS:HTTP 报文语义不变,只在 TCP 与 HTTP 之间插一层 TLS;http://https://、端口 80→443
  • 三大安全目标:机密性(防窃听)+ 完整性(防篡改)+ 身份认证(防冒充),分别对应明文 HTTP 的三类风险
  • 混合加密:非对称(RSA/ECC)在握手阶段协商出对称会话密钥,数据传输全用对称(AES-GCM/ChaCha20)——快且安全
  • 哈希(SHA-256)单向定长,数字签名 = 哈希 + 私钥加密摘要(保完整性与不可否认)
  • 数字证书 = 公钥 + 身份 + CA 签名(X.509);域名匹配只看 SAN(CN 已被忽略)
  • 信任链:根 CA → 中间 CA → 站点证书;根证书内置于 OS/浏览器信任库
  • TLS 1.3 握手 1-RTT(回头客 0-RTT),比 1.2 的 2-RTT 更快更安全;TLS 1.0/1.1 已弃用(RFC 8996)
  • 前向保密(PFS)来自 ECDHE 临时密钥:长期私钥日后泄露也解不了历史流量
  • HSTSStrict-Transport-Security)强制浏览器只用 HTTPS,防 SSL 剥离降级;HPKP 已废弃
  • 证书类型 DV/OV/EV 加密强度相同(EV 绿条已淡化);Let's Encrypt 免费、ACME 自动签发、90 天有效期
  • 混合内容:HTTPS 页面引用 http:// 资源,被动类自动升级、主动类被拦截
  • 仅 HTTPS 可用的 Web API:Service Worker、getUserMedia、Geolocation、Web Crypto 等(localhost 例外)

一次 HTTPS 连接是怎么建立的

从浏览器访问 https://example.com 到拿到加密的页面数据,TLS 这一层大致经历:

  1. TCP 连接:先与服务器完成 TCP 三次握手(HTTP/3 则走 QUIC,见「HTTP 演进与性能」叶)。
  2. TLS 握手:协商 TLS 版本与加密套件,服务器下发证书链,浏览器验证证书(签名链可信、在有效期、域名匹配 SAN、未吊销),双方用 ECDHE 协商出一把只有彼此知道的会话密钥
  3. 加密传输:握手完成后,所有 HTTP 报文都用这把对称会话密钥加密传输——中间节点只能看到密文。

这三步把「明文裸奔」变成了「加密 + 验明正身」的安全信道。下面几页逐一拆开:先看 为什么需要 HTTPS,再深入加密、证书与握手的细节。

三大安全目标对应什么风险

安全目标防的风险靠什么实现
机密性 Confidentiality窃听(被动监听)对称加密(会话密钥)
完整性 Integrity篡改(改包、注广告)消息认证码 / 数字签名
身份认证 Authentication冒充(伪装服务器、钓鱼)数字证书 + CA 信任链

语义不变

HTTPS 不改变任何 HTTP 语义——方法、状态码、首部、Cookie 全照旧(见「HTTP 协议基础」叶)。它只是给传输通道套上了加密与身份验证。