HTTP 和 HTTPS 的区别?
计算机网络面试题发布于
一、核心区别
HTTPS = HTTP + TLS/SSL,在 HTTP 和 TCP 之间加了加密层。
二、对比
| 维度 | HTTP | HTTPS |
|---|---|---|
| 端口 | 80 | 443 |
| 传输 | 明文 | 加密 |
| 证书 | 不需要 | 需要 CA 证书 |
| 安全 | 易被窃听/篡改 | 机密性+完整性+身份认证 |
| 性能 | 较快 | 略慢(TLS 握手) |
三、TLS 握手
- 客户端发 ClientHello(支持的加密套件、随机数)。
- 服务端回 ServerHello + 证书。
- 客户端验证证书,生成预主密钥,用证书公钥加密发给服务端。
- 双方用预主密钥 + 两个随机数生成会话密钥。
- 后续通信用会话密钥对称加密。
四、HTTPS 优化
- Session 复用
- OCSP Stapling
- HTTP/2 多路复用