HTTP_TIMEOUT_LIMIT_INFO-Struktur (http.h)

Die HTTP_TIMEOUT_LIMIT_INFO-Struktur definiert die anwendungsspezifischen Verbindungstimeoutlimits.

Diese Struktur muss beim Festlegen oder Abfragen von HttpServerTimeoutsProperty für eine URL-Gruppe, Serversitzung oder Anforderungswarteschlange verwendet werden.

Syntax

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;

Member

Flags

Die HTTP_PROPERTY_FLAGS-Struktur , die angibt, ob die Eigenschaft vorhanden ist.

EntityBody

Die Zeit, in Sekunden, die für die Ankunft des Anforderungsentitätstexts zugelassen ist.

Die HTTP-Server-API aktiviert diesen Timer, wenn die Anforderung über einen Entitätstext verfügt. Der Timerablauf wird zunächst auf den konfigurierten Wert festgelegt. Wenn die HTTP-Server-API zusätzliche Datenhinweise für die Anforderung empfängt, setzt sie den Timer zurück, um der Verbindung ein weiteres Intervall zu geben.

DrainEntityBody

Die Zeit in Sekunden, die für die HTTP-Server-API zulässig ist, um den Entitätstext für eine Keep-Alive Verbindung zu entladen.

Bei einer Keep-Alive Verbindung beginnt die HTTP-Server-API, den Rest des Entitätskörpers zu entladen, nachdem die Anwendung eine Antwort für eine Anforderung gesendet hat und der Anforderungsentitätstext vollständig eingetroffen ist, um eine andere potenziell pipelinefähige Anforderung vom Client zu erreichen. Wenn die Zeit zum Entladen des verbleibenden Entitätstexts den zulässigen Zeitraum überschreitet, wird ein Timeout für die Verbindung ausgeführt.

RequestQueue

Die zulässige Zeit in Sekunden, bis die Anforderung in der Anforderungswarteschlange verbleibt, bevor die Anwendung sie übernimmt.

IdleConnection

Die Zeit, in Sekunden, die für eine Verbindung im Leerlauf zugelassen ist.

Dieses Timeout wird erst erzwungen, nachdem die erste Anforderung für die Verbindung an die Anwendung weitergeleitet wurde. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

HeaderWait

Die Zeit in Sekunden, die für die HTTP-Server-API zulässig ist, um den Anforderungsheader zu analysieren.

Dieses Timeout wird erst erzwungen, nachdem die erste Anforderung für die Verbindung an die Anwendung weitergeleitet wurde. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

MinSendRate

Die Minimumsenderate, in Byte-pro Sekunde, für die Antwort. Die Standardantwortsenderate beträgt 150 Bytes pro Sekunde.

Um diesen Timer zu deaktivieren, legen Sie MinSendRate auf MAXULONG fest.

Hinweise

Diese Struktur wird in den Funktionen HttpQueryServerSessionProperty und HttpSetServerSessionProperty verwendet, um die Verbindungstimeouts festzulegen oder abzufragen. In der folgenden Tabelle sind die Standardtimeouts aufgeführt.

Timer HTTP-Server-API Standard HTTP Server API Wide Configuration Anwendungsspezifische Konfiguration
EntityBody 2 Minuten Nein Ja
DrainEntityBody 2 Minuten Nein Ja
Anforderungswarteschlange 2 Minuten Nein Ja
LeerlaufVerbindung 2 Minuten Yes Eingeschränkt
HeaderWait 2 Minuten Yes Eingeschränkt
MinSendRate 150 Bytes/Sekunde Nein Ja
 

Das Aufrufen von HttpSetServerSessionProperty oder HttpSetUrlGroupProperty zum Konfigurieren eines Verbindungstimeouts wirkt sich nur auf die aufrufende Anwendung aus und legt keine treiberweiten Timeoutlimits fest. Die Leerlauf-Verbindungs- und Headerwartezeitgeber können für alle HTTP-Anwendungen konfiguriert werden, indem HttpSetServiceConfiguration aufgerufen wird. Administratorrechte sind erforderlich, um timeouts für die HTTP-Server-API zu konfigurieren. Konfigurationen der HTTP-Server-API wirken sich auf alle HTTP-Anwendungen auf dem Computer aus und bleiben beim Herunterfahren des Computers erhalten.

Die anwendungsspezifischen Timer IdleConnection und HeaderWait werden auf begrenzter Basis festgelegt. Die HTTP-Server-API kann die Anforderungswarteschlange oder URL-Gruppe, der die Anforderung zugeordnet ist, erst ermitteln, wenn die Header analysiert wurden. Daher erzwingt die HTTP-Server-API die Standardtimer idleConnection und HeaderWait für die erste Anforderung für eine Verbindung. Nachfolgende Anforderungen für eine Keep-Alive-Verbindung verwenden die anwendungsspezifischen Timeouts.

Das Festlegen eines Timeouts für eine Serversitzung wirkt sich auf alle URL-Gruppen unter der Serversitzung aus. Wenn die URL-Gruppe jedoch ein Timeout konfiguriert hat, hat die Einstellung für die URL-Gruppe Vorrang vor der Konfiguration der Serversitzung.

Durch Festlegen eines Timeouts auf null für eine Serversitzung wird die HTTP-Server-API auf den Standardwert für diesen Timer rückgängig machen. Bei Timern, die für eine URL-Gruppe festgelegt sind, wird das Serversitzungstimeout verwendet, sofern vorhanden, andernfalls wird die HTTP-Server-API-Standardeinstellung verwendet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile http.h

Weitere Informationen

HTTP-Server-API, Version 2.0-Strukturen

HTTP_SERVER_PROPERTY

HttpQueryRequestQueueProperty

HttpQueryServerSessionProperty

HttpQueryUrlGroupProperty

HttpSetRequestQueueProperty

HttpSetServerSessionProperty

HttpSetUrlGroupProperty