Condividi tramite


enumerazione HTTP_REQUEST_PROPERTY (http.h)

L'enumerazione HTTP_REQUEST_PROPERTY definisce le proprietà che è possibile configurare per essere sottoposte a query o impostare dall'API server HTTP in una richiesta.

Sintassi

typedef enum _HTTP_REQUEST_PROPERTY {
  HttpRequestPropertyIsb,
  HttpRequestPropertyTcpInfoV0,
  HttpRequestPropertyQuicStats,
  HttpRequestPropertyTcpInfoV1,
  HttpRequestPropertySni,
  HttpRequestPropertyStreamError,
  HttpRequestPropertyWskApiTimings,
  HttpRequestPropertyQuicApiTimings,
  HttpRequestPropertyQuicStatsV2,
  HttpRequestPropertyQuicStreamStats,
  HttpRequestPropertyTcpInfoV2,
  HttpRequestPropertyTlsClientHello,
  HttpRequestPropertyTransportIdleConnectionTimeout,
  HttpRequestPropertyDscpTag,
  HttpRequestPropertyTlsCipherInfo
} HTTP_REQUEST_PROPERTY, *PHTTP_REQUEST_PROPERTY;

Constants

 
HttpRequestPropertyIsb
Azione: query.
Valore PVOID Input/Output: ULONG64

Recuperare le dimensioni del backlog di invio ideali per una richiesta (vedere SIO_WSK_QUERY_IDEAL_SEND_BACKLOG).
HttpRequestPropertyTcpInfoV0
Azione: query.
Valore PVOID Input/Output: TCP_INFO_v0

Recuperare le statistiche TCP_INFO_v0 per una richiesta. Usa il parametro Qualifier .
HttpRequestPropertyQuicStats
Azione: query.
Valore PVOID Input/Output: QUIC_STATISTICS

Recuperare le statistiche QUIC_STATISTICS per una richiesta. Usa il parametro Qualifier .
HttpRequestPropertyTcpInfoV1
Azione: query.
Valore PVOID Input/Output: TCP_INFO_v1

Recuperare le statistiche TCP_INFO_v1 per una richiesta. Usa il parametro Qualifier .
HttpRequestPropertySni
Azione: query.
Valore di input/output PVOID: HTTP_REQUEST_PROPERTY_SNI

Recuperare l'indicazione del nome del server per la connessione TLS della richiesta in un HTTP_REQUEST_PROPERTY_SNI.
HttpRequestPropertyStreamError
Azione: imposta.
Valore di input/output PVOID: HTTP_REQUEST_PROPERTY_STREAM_ERROR

Impostare uno struct (HTTP/2 o HTTP/3) HTTP_REQUEST_PROPERTY_STREAM_ERROR su una richiesta. La struttura HTTP_REQUEST_PROPERTY_STREAM_ERROR contiene i dati di configurazione per questa proprietà.
HttpRequestPropertyWskApiTimings
Azione: query.
Valore di input/output PVOID: HTTP_WSK_API_TIMINGS

Recuperare le statistiche HTTP_WSK_API_TIMINGS per una richiesta. Usato solo per le richieste non QUIC (HTTP/1.1, HTTP/2). Questa proprietà richiede una configurazione aggiuntiva per abilitarne l'uso; vedere Osservazioni.
HttpRequestPropertyQuicApiTimings
Azione: query.
Valore PVOID Input/Output: HTTP_QUIC_API_TIMINGS

Recuperare le statistiche HTTP_QUIC_API_TIMINGS per una richiesta. Usato solo per le richieste HTTP/3. Questa proprietà richiede una configurazione aggiuntiva per abilitarne l'uso; vedere Osservazioni.
HttpRequestPropertyQuicStatsV2
Azione: query.
Valore di input/output PVOID: QUIC_STATISTICS_V2

Recuperare le statistiche QUIC_STATISTICS_V2 per una richiesta. Usa il parametro Qualifier .
HttpRequestPropertyQuicStreamStats
Azione: query.
Valore PVOID Input/Output: QUIC_STREAM_STATISTICS

Recuperare le statistiche QUIC_STREAM_STATISTICS per una richiesta.
HttpRequestPropertyTcpInfoV2
Azione: query.
Valore PVOID Input/Output: TCP_INFO_v2

Recuperare le statistiche TCP_INFO_v2 estese per una richiesta. Usa il parametro Qualifier .
HttpRequestPropertyTlsClientHello
Azione: query.
Valore input/output PVOID: BYTE[]

Recuperare il contenuto del messaggio TLS Client Hello inviato dal client all'inizio della connessione per tale richiesta. Questa proprietà richiede una configurazione aggiuntiva per abilitarne l'uso; vedere Osservazioni.
HttpRequestPropertyTransportIdleConnectionTimeout
Azione: imposta.
Valore di input/output PVOID: USHORT

Impostare un timeout in secondi per se la richiesta diventa inattiva.
HttpRequestPropertyDscpTag
Azione: imposta.
Valore input/output PVOID: BYTE

Impostare il tag punto di codice (DSCP) dei servizi differenziati sul valore BYTE fornito su tutti i pacchetti inviati nella risposta a questa richiesta. Si tratta di un valore a 6 bit internamente, quindi il valore massimo è 0x3F.
HttpRequestPropertyTlsCipherInfo
Azione: query.
Valore PVOID Input/Output: SecPkgContext_CipherInfo

Recuperare la suite di crittografia e i parametri selezionati per questa connessione nell'handshake TLS.

Osservazioni:

I tipi di enumerazione HTTP_REQUEST_PROPERTY vengono usati per impostare o eseguire query sulle configurazioni in una richiesta. Un membro di questa enumerazione insieme alla struttura di configurazione associata viene usato da HttpSetRequestProperty per definire i parametri di configurazione.

HttpRequestPropertyWskApiTimings e HttpRequestPropertyQuicApiTimings. Queste proprietà richiedono che il valore del HKLM\System\CurrentControlSet\Services\Http\Parameters:EnableExtendedEvents Registro di sistema sia impostato su 0x1 prima di avviare o riavviare il servizio HTTP.

HttpRequestPropertyTlsClientHello. Per verificare la disponibilità di questa funzionalità, chiamare HttpIsFeatureSupported e passare HttpFeatureCacheTlsClientHello. Poiché la memorizzazione nella cache di TLS Client Hello è costosa per connessione, per abilitare questa funzionalità è necessario chiamare HttpSetServiceConfiguration con uno struct HTTP_SERVICE_CONFIG_SSL_SET in pConfigInformation con HTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_CACHE_CLIENT_HELLO set (vedere HTTP_SERVICE_CONFIG_SSL_PARAM). Poiché un client TLS Hello non ha una lunghezza fissa, è possibile eseguire una query su questa proprietà con un puntatore al buffer NULL per determinare le dimensioni di un buffer necessario; per informazioni dettagliate, vedere l'esempio in HttpQueryRequestProperty .

Requisiti

Requisito Value
Header http.h

Vedere anche

HttpSetRequestProperty