HTTP 和 HTTPS 的区别?

计算机网络面试题发布于

一、核心区别

HTTPS = HTTP + TLS/SSL,在 HTTP 和 TCP 之间加了加密层。

二、对比

维度 HTTP HTTPS
端口 80 443
传输 明文 加密
证书 不需要 需要 CA 证书
安全 易被窃听/篡改 机密性+完整性+身份认证
性能 较快 略慢(TLS 握手)

三、TLS 握手

  1. 客户端发 ClientHello(支持的加密套件、随机数)。
  2. 服务端回 ServerHello + 证书。
  3. 客户端验证证书,生成预主密钥,用证书公钥加密发给服务端。
  4. 双方用预主密钥 + 两个随机数生成会话密钥。
  5. 后续通信用会话密钥对称加密。

四、HTTPS 优化

  • Session 复用
  • OCSP Stapling
  • HTTP/2 多路复用