Delphi Berlin:TIdHTTPServer(Indy 10)受益于KeepAlive

时间:2017-10-09 15:42:59

标签: delphi ssl indy idhttp

我有一台处理httphttps请求的服务器。

客户端和服务器之间的常见例程基于两个请求:

1)用户请求带有网址的文件,例如:

https://example.com/get?id=10

2)服务器对响应标头进行一些检查并重定向到新的URL:

location: https://example.com/files/10.zip

3)浏览器在重定向到新网址后,请求文件:

https://example.com/files/10.zip

4)服务器在响应流中发送文件“10.zip”:

ResponseInfo.ContentStream := TFileStream.Create('C:\10.zip', fmOpenRead or fmShareDenyNone);

所有例程都有两个请求(1,4),因此我禁用了session和keepAlive:

IdHTTPServer.KeepAlive        := False;
IdHTTPServer.AutoStartSession := False;
IdHTTPServer.SessionState     := False;

我认为只有多次往返才能保持活力,这对于我的用户使用http时的情况似乎是一个好主意,但是,当用户使用https时,这可能不是一个好主意,因为每个请求都没有KeepAlive是一个新请求,HTTPS连接的初始设置成本要高得多。

IdHTTPServer上启用KeepAlive对我的方案有哪些性能优势?

Apache 2.4的默认KeepAliveTimeout为5秒。对于IndyServer来说,这是一个很好的值,只需几秒钟?

0 个答案:

没有答案