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 Server API 會開始清空實體主體的其餘部分,以從用戶端到達另一個可能的管線要求。 如果清空剩餘實體主體的時間超過允許的期間,則連線逾時。

RequestQueue

在應用程式挑選要求之前,允許要求保留在要求佇列中的時間,以秒為單位。

IdleConnection

閒置連接的允許時間,以秒為單位。

只有在連線的第一個要求路由傳送至應用程式之後,才會強制執行此逾時。 如需詳細資訊,請參閱<備註>一節。

HeaderWait

允許 HTTP 伺服器 API 剖析要求標頭的時間,以秒為單位。

只有在連線的第一個要求路由傳送至應用程式之後,才會強制執行此逾時。 如需詳細資訊,請參閱<備註>一節。

MinSendRate

回應的最小傳送速率,以每秒位元組數為單位。 默認回應傳送速率為每秒 150 個字節。

若要停用此定時器,請將 MinSendRate 設定為 MAXULONG。

備註

此結構用於 HttpQueryServerSessionProperty 和 HttpSetServerSessionProperty 函式中,以設定或查詢連線逾時。 下表列出預設逾時。

計時器 HTTP 伺服器 API 預設值 HTTP 伺服器 API 寬組態 應用程式特定組態
EntityBody 2 分鐘 No Yes
DrainEntityBody 2 分鐘 No Yes
RequestQueue 2 分鐘 No Yes
IdleConnection 2 分鐘 Yes 限制
HeaderWait 2 分鐘 Yes 限制
MinSendRate 150 個字節/秒 No Yes
 

呼叫 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

另請參閱

HTTP 伺服器 API 2.0 版結構

HTTP_SERVER_PROPERTY

HttpQueryRequestQueueProperty

HttpQueryServerSessionProperty

HttpQueryUrlGroupProperty

HttpSetRequestQueueProperty

HttpSetServerSessionProperty

HttpSetUrlGroupProperty