HTTP_TIMEOUT_LIMIT_INFO 结构 (http.h)
HTTP_TIMEOUT_LIMIT_INFO结构定义特定于应用程序的连接超时限制。
在 URL 组、服务器会话或请求队列上设置或查询 HttpServerTimeoutsProperty 时,必须使用此结构。
语法
typedef struct _HTTP_TIMEOUT_LIMIT_INFO {
HTTP_PROPERTY_FLAGS Flags;
USHORT EntityBody;
USHORT DrainEntityBody;
USHORT RequestQueue;
USHORT IdleConnection;
USHORT HeaderWait;
ULONG MinSendRate;
} HTTP_TIMEOUT_LIMIT_INFO, *PHTTP_TIMEOUT_LIMIT_INFO;
成员
Flags
HTTP_PROPERTY_FLAGS结构,用于指定属性是否存在。
EntityBody
允许请求实体正文到达的时间(以秒为单位)。
当请求具有实体正文时,HTTP 服务器 API 会打开此计时器。 计时器过期时间最初设置为配置的值。 当 HTTP 服务器 API 在请求上收到其他数据指示时,它会重置计时器,为连接提供另一个间隔。
DrainEntityBody
HTTP 服务器 API 在 Keep-Alive 连接上排出实体正文所允许的时间(以秒为单位)。
在 Keep-Alive 连接中,在应用程序发送请求的响应之后,在请求实体正文完全到达之前,HTTP 服务器 API 开始清空实体正文的其余部分,以从客户端访问另一个可能通过管道传递的请求。 如果排出剩余实体正文的时间超过允许的时间段,连接将超时。
RequestQueue
应用程序选取请求之前,允许请求保留在请求队列中的时间(以秒为单位)。
IdleConnection
允许空闲连接的时间(以秒为单位)。
只有在连接上的第一个请求路由到应用程序后,才会强制实施此超时。 有关详细信息,请参见“备注”部分。
HeaderWait
HTTP 服务器 API 分析请求标头所允许的时间(以秒为单位)。
只有在连接上的第一个请求路由到应用程序后,才会强制实施此超时。 有关详细信息,请参见“备注”部分。
MinSendRate
响应的最低发送速率(以每秒字节数为单位)。 默认响应发送速率为每秒 150 字节。
若要禁用此计时器,请将 MinSendRate 设置为 MAXULONG。
注解
此结构在 HttpQueryServerSessionProperty 和 HttpSetServerSessionProperty 函数中用于设置或查询连接超时。 下表列出了默认超时。
Timer | HTTP 服务器 API 默认值 | HTTP 服务器 API 宽配置 | 应用程序特定配置 |
---|---|---|---|
EntityBody | 2 分钟 | 否 | 是 |
DrainEntityBody | 2 分钟 | 否 | 是 |
RequestQueue | 2 分钟 | 否 | 是 |
IdleConnection | 2 分钟 | 是 | 受限制 |
HeaderWait | 2 分钟 | 是 | 受限制 |
MinSendRate | 150 字节/秒 | 否 | 是 |
调用 HttpSetServerSessionProperty 或 HttpSetUrlGroupProperty 以配置连接超时仅影响调用应用程序,并且不设置驱动程序范围的超时限制。 可以通过调用 HttpSetServiceConfiguration 为所有 HTTP 应用程序配置空闲连接和标头等待计时器。 配置 HTTP 服务器 API 范围超时需要管理权限。 HTTP 服务器 API 范围配置会影响计算机上的所有 HTTP 应用程序,并在计算机关闭时保留。
应用程序特定的 IdleConnection 和 HeaderWait 计时器是有限设置的。 在分析标头之前,HTTP 服务器 API 无法确定请求关联的请求队列或 URL 组。 因此,HTTP 服务器 API 对连接上的第一个请求强制使用默认 IdleConnection 和 HeaderWait 计时器。 Keep-Alive 连接的后续请求将使用特定于应用程序的超时。
在服务器会话上设置超时会影响服务器会话下的所有 URL 组。 但是,如果 URL 组已配置超时,则 URL 组的设置优先于服务器会话配置。
在服务器会话上将超时设置为零会导致 HTTP 服务器 API 还原为该计时器的默认值。 对于在 URL 组上设置的计时器,使用服务器会话超时(如果存在),否则使用 HTTP 服务器 API 默认值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | http.h |