Condividi tramite


HTTP_TIMEOUT_LIMIT_INFO struttura (http.h)

La struttura HTTP_TIMEOUT_LIMIT_INFO definisce i limiti di timeout di connessione specifici dell'applicazione.

Questa struttura deve essere usata quando si imposta o si esegue una query su HttpServerTimeoutsProperty in un gruppo di URL, una sessione del server o una coda di richieste.

Sintassi

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;

Members

Flags

Struttura HTTP_PROPERTY_FLAGS che specifica se la proprietà è presente.

EntityBody

Tempo di attesa, in secondi, consentito per l'arrivo del corpo dell'entità di richiesta.

L'API server HTTP attiva questo timer quando la richiesta ha un corpo dell'entità. La scadenza del timer viene inizialmente impostata sul valore configurato. Quando l'API SERVER HTTP riceve indicazioni aggiuntive sui dati nella richiesta, reimposta il timer per assegnare un altro intervallo di connessione.

DrainEntityBody

Il tempo, in secondi, consentito all'API server HTTP di svuotare il corpo dell'entità in una connessione Keep-Alive.

In una connessione Keep-Alive, dopo che l'applicazione ha inviato una risposta per una richiesta e prima che il corpo dell'entità richiesta sia completamente arrivato, l'API server HTTP inizia a svuotare il resto del corpo dell'entità per raggiungere un'altra richiesta potenzialmente pipelineta dal client. Se il tempo per svuotare il corpo dell'entità rimanente supera il periodo consentito il timeout della connessione.

RequestQueue

Il tempo, in secondi, consentito per la richiesta di rimanere nella coda della richiesta prima che l'applicazione lo ritiri.

IdleConnection

Tempo di attesa, in secondi, consentito per una connessione inattiva.

Questo timeout viene applicato solo dopo che la prima richiesta sulla connessione viene instradata all'applicazione. Per altre informazioni, vedere la sezione Osservazioni.

HeaderWait

Tempo, in secondi, consentito all'API server HTTP di analizzare l'intestazione della richiesta.

Questo timeout viene applicato solo dopo che la prima richiesta sulla connessione viene instradata all'applicazione. Per altre informazioni, vedere la sezione Osservazioni.

MinSendRate

Frequenza di invio minima per la risposta, espressa in byte al secondo. La frequenza di trasmissione della risposta predefinita è di 150 byte al secondo.

Per disabilitare questo timer, impostare MinSendRate su MAXULONG.

Commenti

Questa struttura viene usata nelle funzioni HttpQueryServerSessionProperty e HttpSetServerSessionProperty per impostare o eseguire query sui timeout di connessione. Nella tabella seguente sono elencati i timeout predefiniti.

Timer API SERVER HTTP predefinita Configurazione a livello di API SERVER HTTP Configurazione specifica dell'applicazione
EntityBody 2 minuti No
DrainEntityBody 2 minuti No
RequestQueue 2 minuti No
IdleConnection 2 minuti Limitato
HeaderWait 2 minuti Limitato
MinSendRate 150 byte/secondo No
 

La chiamata a HttpSetServerSessionProperty o HttpSetUrlGroupProperty per configurare un timeout di connessione influisce solo sull'applicazione chiamante e non imposta limiti di timeout a livello di driver. I timer di attesa di inattività e di attesa delle intestazioni possono essere configurati per tutte le applicazioni HTTP chiamando HttpSetServiceConfiguration. I privilegi amministrativi sono necessari per configurare i timeout a livello di API del server HTTP. Le configurazioni a livello di API SERVER HTTP influiscono su tutte le applicazioni HTTP nel computer e persistono quando il computer viene arrestato.

I timer IdleConnection e HeaderWait specifici dell'applicazione vengono impostati su base limitata. L'API server HTTP non può determinare la coda di richieste o il gruppo URL a cui la richiesta è associata fino a quando non sono state analizzate le intestazioni. Di conseguenza, l'API server HTTP applica i timer IdleConnection e HeaderWait predefiniti per la prima richiesta in una connessione. Le richieste successive in una connessione Keep-Alive useranno i timeout specifici dell'applicazione.

L'impostazione di un timeout in una sessione server influisce su tutti i gruppi di URL nella sessione del server. Tuttavia, se il gruppo DI URL ha configurato un timeout, l'impostazione per il gruppo DI URL ha la precedenza sulla configurazione della sessione del server.

L'impostazione di un timeout su zero in una sessione server causa il ripristino del valore predefinito dell'API server HTTP per tale timer. Per i timer impostati in un gruppo di URL, il timeout della sessione del server viene usato se presente, in caso contrario, viene usato il valore predefinito dell'API server HTTP.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione http.h

Vedi anche

Strutture dell'API SERVER HTTP versione 2.0

HTTP_SERVER_PROPERTY

HttpQueryRequestQueueProperty

HttpQueryServerSessionProperty

HttpQueryUrlGroupProperty

HttpSetRequestQueueProperty

HttpSetServerSessionProperty

HttpSetUrlGroupProperty