在 TLS 层如何优化网站性能
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 408
Author 回答者: shfshanyue
- OSCP Stapling
- TLS 1.3
Author 回答者: Echo-MakeGreatEffort
- 启用 TLS 1.3:(1)TLS 1.2 通常需要两个 RTT 来完成握手;TLS 1.3 只需要一个 RTT,降低了延迟(在发送第一个“Hello”消息时,不仅提供加密套件等信息,还包括生成的密钥交换参数(使用椭圆曲线 Diffie-Hellman,ECDHE)和其他需要的信息,服务器响应,选择加密套件并发送密钥交换参数。双方立即可以计算出共享的会话密钥) (2)0-RTT 握手:TLS 1.3 支持“0-RTT”握手,这允许客户端和服务器在之前的会话基础上立即恢复连接
- HTTP/2 和 TLS 的结合:多路复用、头部压缩、服务器推送
- 启用 OCSP Stapling:允许服务器在握手过程中将最新的证书状态直接发送给客户端,避免了客户端向 CA 服务器进行额外查询,从而减少延迟
Author 回答者: Echo-MakeGreatEffort
优化 TLS 性能可以通过减少握手延迟、提高加密效率和减少连接次数等方法实现。启用 TLS 1.3、会话复用、优化加密套件和结合 HTTP/2 是提升 HTTPS 网站性能的关键策略