我在 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 毫秒内发送。