面试题答案
一键面试- 会话复用(Session Resumption):
- 原理:客户端和服务器在首次握手后,服务器会生成一个会话ID并把会话相关信息(如密钥等)存储起来。当客户端再次发起连接时,可在ClientHello消息中带上之前的会话ID。若服务器端仍保留该会话信息,就无需进行完整的握手流程,只需简单验证即可恢复会话,大大减少握手延迟。
- 会话票证(Session Tickets):
- 原理:服务器在首次握手后,生成一个包含会话密钥等信息的会话票证,加密后发送给客户端。客户端后续发起连接时,在ClientHello消息中带上该会话票证。服务器收到后解密验证,若验证通过则恢复会话,避免了完整握手,因为会话信息存储在客户端,减轻了服务器存储会话状态的负担,加快握手速度。
- TLS False Start:
- 原理:客户端在发送完ClientHello消息后,不等服务器的Hello消息回复,就提前发送加密的应用数据。服务器在收到ClientHello后,若支持False Start,会直接处理提前发送的应用数据,从而减少了一次往返时间(RTT),降低握手延迟。但此方法要求双方都支持且需处理好重传等复杂情况。
- OCSP Stapling:
- 原理:在线证书状态协议(OCSP)用于检查证书是否吊销。传统方式下,客户端需向证书颁发机构(CA)查询证书状态,增加延迟。OCSP Stapling是服务器提前向CA获取证书状态信息,并在握手过程中直接把该信息发送给客户端,客户端无需额外向CA查询,减少了查询时间,加快握手。