什么是最大的http响应延迟?

我想弄清楚在哪里放置服务器使用HTTP调用到另一台服务器检索结果。 我似乎无法find定义最大响应时间的HTTP的任何定义,虽然我有一个1800毫秒模糊的回忆。

有没有人知道在哪里定义,甚至有一个相对权威的来源,延迟时间?

没有RFC似乎写了! 但主要的Web服务器有一些默认值。

IIS :connectionTimeout;

HTTP.sys Timer_EntityBody计时器已过期。 连接在请求实体主体到达之前过期。 如果请求具有实体主体,则HTTP API会打开Timer_EntityBody计时器。 最初,此计时器的限制设置为connectionTimeout值。 每次收到此请求的另一个数据指示时,HTTP API都会重置计时器,以使connectionTimeout属性中指定的连接数更多。

<system.applicationHost> <sites> <siteDefaults> **<limits connectionTimeout="00:02:00" />** </siteDefaults> </sites> </system.applicationHost> 

阿帕奇

默认:header = 20-40,MinRate = 500 body = 20,MinRate = 500

允许10秒钟接收请求,包括标题和接收请求主体30秒:

RequestReadTimeout header = 10 body = 30

允许至less10秒钟接收请求主体。 如果客户端发送数据,则将收到的每1000个字节的超时时间增加1秒,没有超时上限(LimitRequestBody间接给出的限制除外):

RequestReadTimeout正文= 10,MinRate = 1000

允许至less10秒钟接收包括标题的请求。 如果客户端发送数据,则每接收500个字节,超时时间增加1秒。 但请不要超过30秒,包括标题的请求:

RequestReadTimeout头= 10-30,MinRate = 500

通常,服务器应该configuration标题和主体超时。 如果通用configuration用于http和https虚拟主机,则超时不应设置得太低:

RequestReadTimeout头= 20-40,MinRate = 500 body = 20,MinRate = 500

编辑:

如果你的意思是在客户端; 那么它是编码的东西。根据select的function; 在这种情况下,读取缓冲区可以返回:

readfds:

  • 如果侦听已经被调用,并且连接处于挂起状态,则接受将成功。
  • 数据可用于读取(如果启用了SO_OOBINLINE,则包括OOB数据)。
  • 连接已closures/重置/终止。

这意味着在select的调用之间,只要远程连接没有被丢弃,select就不会返回任何东西,并且会等到你定义的一个值closures你的客户端连接。