3

我在 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 机器需要 80 毫秒才能发出请求?我可以减少这种延迟吗?

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

4

1 回答 1

1

(回答我自己的问题)

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

时间不能减少。

于 2014-02-28T17:59:46.957 回答