"Change Cipher Spec" 和 "Application Data" 之间的 https 延迟



我在Windows 7(客户端)上使用.NET 4.5对嵌入式系统(服务器)上运行的lighttpd进行https调用。

第一个 https 请求比后续请求慢 +-120 毫秒。第一个请求速度较慢是正常的,因为连接已设置,其他请求重用现有连接。

当我查看Wireshark时,我看到以下TLSv1消息:

client -> server: Client Hello
server -> client: Server Hello, Certificate, Server Hello Done
client -> server: Client Key Exchange, Change Cipher Spec, Finished
server -> client: Change Cipher Spec, Finished

此设置过程大约需要 25 毫秒。

然后,Windows机器发送http请求需要80ms。

client -> server: Http Request

问题

为什么Windows机器需要80ms才能发出请求?我可以减少这种延迟吗?

注意如果我在同一台机器上使用Qt 5.2(使用OpenSSL)发送请求,设置过程大约需要55ms,Http请求在1ms内发送。

(回答我自己的问题)

在此期间,.NET 将验证服务器证书。验证包括验证名称和将证书链接到系统受信任的根 CA。

时间不能缩短。

最新更新