structure HTTP_TIMEOUT_LIMIT_INFO (http.h)
La structure HTTP_TIMEOUT_LIMIT_INFO définit les limites de délai d’expiration de connexion spécifiques à l’application.
Cette structure doit être utilisée lors de la définition ou de l’interrogation de HttpServerTimeoutsProperty sur un groupe d’URL, une session de serveur ou une file d’attente de requêtes.
Syntaxe
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;
Membres
Flags
Structure HTTP_PROPERTY_FLAGS qui spécifie si la propriété est présente.
EntityBody
Temps, en secondes, autorisé pour l'arrivée du corps d'entité de demande.
L’API du serveur HTTP active ce minuteur lorsque la requête a un corps d’entité. L’expiration du minuteur est initialement définie sur la valeur configurée. Lorsque l’API du serveur HTTP reçoit des indications de données supplémentaires sur la requête, elle réinitialise le minuteur pour donner à la connexion un autre intervalle.
DrainEntityBody
Durée, en secondes, autorisée pour que l’API du serveur HTTP vide le corps de l’entité sur une connexion Keep-Alive.
Sur une connexion Keep-Alive, une fois que l’application a envoyé une réponse pour une demande et avant que le corps de l’entité de requête ne soit complètement arrivé, l’API serveur HTTP commence à vider le reste du corps de l’entité pour atteindre une autre requête potentiellement pipeline du client. Si le temps de drainage du corps d’entité restant dépasse la période autorisée pendant laquelle la connexion est expirée.
RequestQueue
Durée, en secondes, autorisée pour que la demande reste dans la file d’attente de la demande avant que l’application ne le récupère.
IdleConnection
Temps, en secondes, autorisé pour une connexion inactive.
Ce délai d’expiration est appliqué uniquement après que la première requête sur la connexion est routée vers l’application. Pour plus d'informations, consultez la section Notes.
HeaderWait
Durée, en secondes, autorisée pour que l’API du serveur HTTP analyse l’en-tête de la requête.
Ce délai d’expiration est appliqué uniquement après que la première requête sur la connexion est routée vers l’application. Pour plus d'informations, consultez la section Notes.
MinSendRate
Vitesse d'envoi minimale, en octets par seconde, pour la réponse. Le taux d’envoi de réponse par défaut est de 150 octets par seconde.
Pour désactiver ce minuteur, définissez MinSendRate sur MAXULONG.
Remarques
Cette structure est utilisée dans les fonctions HttpQueryServerSessionProperty et HttpSetServerSessionProperty pour définir ou interroger les délais d’expiration de connexion. Le tableau suivant répertorie les délais d’expiration par défaut.
Minuteur | HTTP Server API Default | Configuration à l’échelle de l’API du serveur HTTP | Configuration spécifique de l’application |
---|---|---|---|
EntityBody | 2 minutes | Non | Oui |
DrainEntityBody | 2 minutes | Non | Oui |
RequestQueue | 2 minutes | Non | Oui |
IdleConnection | 2 minutes | Yes | Limité |
HeaderWait | 2 minutes | Yes | Limité |
MinSendRate | 150 octets/seconde | Non | Oui |
L’appel de HttpSetServerSessionProperty ou HttpSetUrlGroupProperty pour configurer un délai d’expiration de connexion affecte uniquement l’application appelante et ne définit pas les limites de délai d’expiration au niveau du pilote. Les minuteurs d’attente de connexion et d’en-tête inactifs peuvent être configurés pour toutes les applications HTTP en appelant HttpSetServiceConfiguration. Les privilèges d’administration sont requis pour configurer les délais d’expiration à l’échelle de l’API du serveur HTTP. Les configurations à l’échelle de l’API serveur HTTP affectent toutes les applications HTTP sur l’ordinateur et persistent lorsque l’ordinateur est arrêté.
Les minuteurs IdleConnection et HeaderWait spécifiques à l’application sont définis de manière limitée. L’API du serveur HTTP ne peut pas déterminer la file d’attente de requête ou le groupe d’URL auquel la requête est associée tant que les en-têtes n’ont pas été analysés. Par conséquent, l’API serveur HTTP applique les minuteurs IdleConnection et HeaderWait par défaut pour la première requête sur une connexion. Les requêtes suivantes sur une connexion Keep-Alive utiliseront les délais d’expiration spécifiques à l’application.
La définition d’un délai d’expiration sur une session de serveur affecte tous les groupes d’URL sous la session du serveur. Toutefois, si le groupe d’URL a configuré un délai d’expiration, le paramètre du groupe d’URL est prioritaire sur la configuration de session du serveur.
La définition d’un délai d’expiration sur zéro sur une session de serveur entraîne le rétablissement de la valeur par défaut de l’API du serveur HTTP pour ce minuteur. Pour les minuteurs définis sur un groupe d’URL, le délai d’expiration de session du serveur est utilisé s’il est présent; sinon, la valeur par défaut de l’API du serveur HTTP est utilisée.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | http.h |
Voir aussi
Structures de l’API serveur HTTP version 2.0