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 Server API は、要求にエンティティ本文がある場合にこのタイマーをオンにします。 タイマーの有効期限は、最初は構成された値に設定されます。 HTTP Server API は、要求に関する追加のデータ表示を受け取ると、タイマーをリセットして接続に別の間隔を設定します。

DrainEntityBody

HTTP Server API が Keep-Alive 接続でエンティティ本体をドレインできる時間 (秒単位)。

Keep-Alive 接続では、アプリケーションが要求の応答を送信した後、要求エンティティ本文が完全に到着する前に、HTTP Server API はエンティティ本体の残りの部分のドレインを開始して、クライアントからパイプライン化される可能性のある別の要求に到達します。 残りのエンティティ本体をドレインする時間が許可された期間を超えた場合、接続はタイムアウトします。

RequestQueue

アプリケーションが要求を取得する前に、要求が要求キューに残ることを許可された時間 (秒単位)。

IdleConnection

アイドル状態の接続として許容される秒単位の時間です。

このタイムアウトは、接続の最初の要求がアプリケーションにルーティングされた後にのみ適用されます。 詳細については、「解説」を参照してください。

HeaderWait

HTTP Server API が要求ヘッダーを解析できる時間 (秒単位)。

このタイムアウトは、接続の最初の要求がアプリケーションにルーティングされた後にのみ適用されます。 詳細については、「解説」を参照してください。

MinSendRate

応答の最小の送信率を、毎秒のバイト数単位で示します。 既定の応答送信速度は、1 秒あたり 150 バイトです。

このタイマーを無効にするには、 MinSendRateMAXULONG に設定します。

注釈

この構造体は、 HttpQueryServerSessionProperty 関数と HttpSetServerSessionProperty 関数で使用され、接続タイムアウトを設定またはクエリします。 次の表に、既定のタイムアウトの一覧を示します。

Timer HTTP サーバー API の既定値 HTTP Server API Wide Configuration アプリケーション固有の構成
EntityBody 2 分 いいえ Yes
DrainEntityBody 2 分 いいえ Yes
要求キュー 2 分 いいえ Yes
IdleConnection 2 分 Yes 制限
HeaderWait 2 分 Yes 制限あり
MinSendRate 150 バイト/秒 いいえ Yes
 

HttpSetServerSessionProperty または HttpSetUrlGroupProperty を呼び出して接続タイムアウトを構成すると、呼び出し元のアプリケーションにのみ影響し、ドライバー全体のタイムアウト制限は設定されません。 アイドル接続とヘッダー待機タイマーは、 HttpSetServiceConfiguration を呼び出すことによって、すべての HTTP アプリケーションに対して構成できます。 HTTP Server API 全体のタイムアウトを構成するには、管理特権が必要です。 HTTP Server API 全体の構成は、コンピューター上のすべての HTTP アプリケーションに影響を与え、コンピューターのシャットダウン時に保持されます。

アプリケーション固有の IdleConnection タイマーと HeaderWait タイマーは、制限付きで設定されます。 HTTP Server API は、ヘッダーが解析されるまで、要求が関連付けられている要求キューまたは URL グループを特定できません。 そのため、HTTP Server API は、接続の最初の要求に既定の IdleConnection タイマーと HeaderWait タイマーを適用します。 Keep-Alive 接続での後続の要求では、アプリケーション固有のタイムアウトが使用されます。

サーバー セッションでタイムアウトを設定すると、サーバー セッションのすべての URL グループに影響します。 ただし、URL グループでタイムアウトが構成されている場合は、URL グループの設定がサーバー セッション構成よりも優先されます。

サーバー セッションでタイムアウトを 0 に設定すると、HTTP Server API はそのタイマーの既定値に戻ります。 URL グループに設定されたタイマーの場合、サーバー セッションタイムアウトが存在する場合は使用され、それ以外の場合は HTTP Server API の既定値が使用されます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header http.h

こちらもご覧ください

HTTP Server API バージョン 2.0 構造体

HTTP_SERVER_PROPERTY

HttpQueryRequestQueueProperty

HttpQueryServerSessionProperty

HttpQueryUrlGroupProperty

HttpSetRequestQueueProperty

HttpSetServerSessionProperty

HttpSetUrlGroupProperty