Condividi tramite


HTTP Server API

Panoramica della tecnologia API server HTTP.

Per sviluppare l'API server HTTP, sono necessarie queste intestazioni:

Per indicazioni sulla programmazione per questa tecnologia, vedere:

Enumerazioni

 
HTTP_503_RESPONSE_VERBOSITY

L'enumerazione HTTP_503_RESPONSE_VERBOSITY definisce i livelli di dettaglio per una risposta di errore 503, servizio non disponibile. Questa struttura deve essere usata quando si imposta o si esegue una query su HttpServer503ResponseProperty in una coda di richieste.
HTTP_AUTH_STATUS

Definisce lo stato di autenticazione di una richiesta.
HTTP_AUTHENTICATION_HARDENING_LEVELS

Livello di protezione avanzata del server.
HTTP_CACHE_POLICY_TYPE

Il tipo di enumerazione HTTP_CACHE_POLICY_TYPE definisce i criteri della cache disponibili.
HTTP_DATA_CHUNK_TYPE

Definisce l'origine dati per un blocco di dati.
HTTP_DELEGATE_REQUEST_PROPERTY_ID

Vengono descritte le informazioni sulle proprietà per una richiesta di delegato.
HTTP_ENABLED_STATE

Definisce lo stato di una coda di richieste, di una sessione del server o di un gruppo di URL.
HTTP_FEATURE_ID

Definisce le costanti che specificano un identificatore per una funzionalità HTTP.
HTTP_HEADER_ID

Il tipo di enumerazione HTTP_HEADER_ID elenca le intestazioni note per le richieste e le risposte HTTP e associa un indice di matrice a ogni intestazione di questo tipo.
HTTP_LOG_DATA_TYPE

Identifica il tipo di dati di log.
HTTP_LOGGING_ROLLOVER_TYPE

Definisce i tipi di rollover del file di log.
HTTP_LOGGING_TYPE

Definisce il tipo di registrazione eseguita.
HTTP_QOS_SETTING_TYPE

Identifica il tipo di un'impostazione QOS contenuta in una struttura HTTP_QOS_SETTING_INFO.
HTTP_REQUEST_AUTH_TYPE

L'enumerazione HTTP_REQUEST_AUTH_TYPE definisce i tipi di autenticazione supportati dall'API server HTTP. Questa enumerazione viene utilizzata nella struttura HTTP_REQUEST_AUTH_INFO.
HTTP_REQUEST_INFO_TYPE

L'enumerazione HTTP_REQUEST_INFO_TYPE definisce il tipo di informazioni contenute nella struttura HTTP_REQUEST_INFO.
HTTP_REQUEST_PROPERTY

Definisce le proprietà configurate dall'API server HTTP in una richiesta.
HTTP_REQUEST_TIMING_TYPE

Definisce le costanti che specificano i possibili intervalli di richiesta per i quali verranno restituite informazioni in HTTP_REQUEST_TIMING_INFO.
HTTP_RESPONSE_INFO_TYPE

L'enumerazione HTTP_RESPONSE_INFO_TYPE definisce il tipo di informazioni contenute nella struttura HTTP_RESPONSE_INFO. Questa enumerazione viene utilizzata nella struttura HTTP_RESPONSE_INFO.
HTTP_SERVER_PROPERTY

Definisce le proprietà configurate dall'API server HTTP in un gruppo di URL, una sessione del server o una coda di richieste.
HTTP_SERVICE_BINDING_TYPE

HTTP_SERVICE_BINDING_TYPE tipo enumerato specifica il tipo stringa per i nomi dei servizi.
HTTP_SERVICE_CONFIG_CACHE_KEY

Usato nelle funzioni HttpSetServiceConfiguration e HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_ID

Definisce le opzioni di configurazione del servizio.
HTTP_SERVICE_CONFIG_QUERY_TYPE

Il tipo di enumerazione HTTP_SERVICE_CONFIG_QUERY_TYPE definisce vari tipi di query da eseguire. Viene usato nelle strutture HTTP_SERVICE_CONFIG_SSL_QUERY, HTTP_SERVICE_CONFIG_SSL_CCS_QUERY e HTTP_SERVICE_CONFIG_URLACL_QUERY.
HTTP_SERVICE_CONFIG_TIMEOUT_KEY

L'enumerazione HTTP_SERVICE_CONFIG_TIMEOUT_KEY definisce il tipo di timer su cui viene eseguita una query o configurata tramite la struttura HTTP_SERVICE_CONFIG_TIMEOUT_SET.
HTTP_VERB

Il tipo di enumerazione HTTP_VERB definisce i valori utilizzati per specificare verbi HTTP standard noti nella struttura HTTP_REQUEST. La maggior parte di questi verbi noti è documentata in RFC 2616 e RFC 2518, come indicato di seguito.

Functions

 
HTTP_EQUAL_VERSION

Restituisce un valore diverso da zero se una struttura HTTP_VERSION è uguale a una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTP_GREATER_EQUAL_VERSION

La macro HTTP_GREATER_EQUAL_VERSION restituisce un valore diverso da zero se una struttura HTTP_VERSION è maggiore o uguale a una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTP_GREATER_VERSION

Restituisce un valore diverso da zero se una struttura HTTP_VERSION è maggiore di una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTP_IS_NULL_ID

Determina se il HTTP_OPAQUE_ID è NULL.
HTTP_LESS_EQUAL_VERSION

Restituisce un valore diverso da zero se una struttura HTTP_VERSION è minore o uguale a una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTP_LESS_VERSION

Restituisce un valore diverso da zero se una struttura HTTP_VERSION è minore di una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTP_NOT_EQUAL_VERSION

Restituisce un valore diverso da zero se una struttura HTTP_VERSION è maggiore o minore di una combinazione di versione principale/secondaria specificata oppure zero se è uguale.
HTTP_SET_NULL_ID

La macro HTTP_SET_NULL_ID imposta il HTTP_OPAQUE_ID su NULL.
HTTP_SET_VERSION

Imposta una struttura di HTTP_VERSION specificata su una combinazione di versione principale/secondaria specificata.
HttpAddFragmentToCache

La funzione HttpAddFragmentToCache memorizza nella cache un frammento di dati con un nome specificato in base al quale può essere recuperato o aggiorna i dati memorizzati nella cache con un nome specificato.
HttpAddUrl

Registra un DETERMINATO URL in modo che le richieste corrispondenti vengano instradate a una coda di richieste DELL'API del server HTTP specificata.
HttpAddUrlToUrlGroup

Aggiunge l'URL specificato al gruppo di URL identificato dall'ID gruppo url.
HTTPAPI_EQUAL_VERSION

Restituisce un valore diverso da zero se una struttura HTTPAPI_VERSION è esattamente uguale a una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTPAPI_GREATER_VERSION

Restituisce un valore diverso da zero se una struttura HTTPAPI_VERSION è maggiore di una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTPAPI_LESS_VERSION

Restituisce un valore diverso da zero se una struttura HTTPAPI_VERSION è minore di una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HTTPAPI_VERSION_GREATER_OR_EQUAL

Il HTTPAPI_VERSION_GREATER_OR_EQUAL restituisce un valore diverso da zero se una struttura HTTPAPI_VERSION è maggiore o uguale a una combinazione di versione principale/secondaria specificata oppure zero in caso contrario.
HttpCancelHttpRequest

La funzione HttpCancelHttpRequest annulla un reqest specificato.
HttpCloseRequestQueue

Chiude l'handle alla coda di richieste specificata creata da HttpCreateRequestQueue.
HttpCloseServerSession

Elimina la sessione del server identificata dall'ID sessione del server.
HttpCloseUrlGroup

Chiude il gruppo di URL identificato dall'ID gruppo URL.
HttpCreateHttpHandle

Crea una coda di richieste HTTP per l'applicazione chiamante e restituisce un handle.
HttpCreateRequestQueue

Crea una nuova coda di richieste o apre una coda di richieste esistente.
HttpCreateServerSession

Crea una sessione del server per la versione specificata.
HttpCreateUrlGroup

Crea un gruppo di URL nella sessione del server specificata.
HttpDeclarePush

Dichiara una relazione da risorsa a sottorisorsa da usare per un push del server HTTP. HTTP.sys quindi esegue un push server HTTP 2.0 per la risorsa specificata, se il protocollo, la connessione, il client e i criteri sottostanti consentono l'operazione push.
HttpDelegateRequestEx

Delega una richiesta dalla coda delle richieste di origine alla coda delle richieste di destinazione.
HttpDeleteServiceConfiguration

Elimina i dati specificati, ad esempio indirizzi IP o certificati SSL, dall'archivio di configurazione dell'API del server HTTP, un record alla volta.
HttpFindUrlGroupId

Recupera un ID gruppo di URL per un URL e una coda di richieste.
HttpFlushResponseCache

Rimuove dalla cache dell'API del server HTTP associata a una determinata coda di richieste tutti i frammenti di risposta con un nome la cui parte del sito corrisponde a un urlPrefix specificato.
HttpInitialize

La funzione HttpInitialize inizializza il driver API del server HTTP, la avvia, se non è già stata avviata e alloca le strutture di dati per l'applicazione chiamante per supportare la creazione della coda di risposta e altre operazioni.
HttpIsFeatureSupported

Controlla se una particolare funzionalità è supportata.
HttpPrepareUrl

Analizza, analizza e normalizza un URL Unicode o punycode non normalizzato in modo che sia sicuro e valido da usare in altre funzioni HTTP.
HttpQueryRequestQueueProperty

Esegue una query su una proprietà della coda di richieste identificata dall'handle specificato.
HttpQueryServerSessionProperty

Esegue una query su una proprietà del server nella sessione del server specificata.
HttpQueryServiceConfiguration

Recupera uno o più record di configurazione dell'API server HTTP.
HttpQueryUrlGroupProperty

Esegue una query su una proprietà nel gruppo di URL specificato.
HttpReadFragmentFromCache

La funzione HttpReadFragmentFromCache recupera un frammento di risposta con un nome specificato dalla cache dell'API del server HTTP.
HttpReceiveClientCertificate

La funzione HttpReceiveClientCertificate viene usata da un'applicazione server per recuperare un certificato SSL client o un token di associazione del canale (CBT).
HttpReceiveHttpRequest

Recupera la successiva richiesta HTTP disponibile dalla coda di richieste specificata in modo sincrono o asincrono.
HttpReceiveRequestEntityBody

Riceve dati aggiuntivi del corpo dell'entità per una richiesta HTTP specificata.
HttpRemoveUrl

Fa sì che il sistema interrompa il routing delle richieste che corrispondono a una stringa UrlPrefix specificata a una coda di richieste specificata.
HttpRemoveUrlFromUrlGroup

Rimuove l'URL specificato dal gruppo identificato dall'ID gruppo URL.
HttpSendHttpResponse

Invia una risposta HTTP alla richiesta HTTP specificata.
HttpSendResponseEntityBody

Invia i dati del corpo dell'entità associati a una risposta HTTP.
HttpSetRequestProperty

Imposta una nuova proprietà o modifica una proprietà esistente nella richiesta specificata.
HttpSetRequestQueueProperty

Imposta una nuova proprietà o modifica una proprietà esistente nella coda di richieste identificata dall'handle specificato.
HttpSetServerSessionProperty

Imposta una nuova proprietà della sessione del server o modifica una proprietà esistente nella sessione del server specificata.
HttpSetServiceConfiguration

Crea e imposta un record di configurazione per l'archivio di configurazione dell'API del server HTTP.
HttpSetUrlGroupProperty

Imposta una nuova proprietà o modifica una proprietà esistente nel gruppo di URL specificato.
HttpShutdownRequestQueue

Arresta l'accodamento delle richieste per il processo di coda di richieste specificato.
HttpTerminate

Pulisce le risorse usate dall'API server HTTP per elaborare le chiamate da un'applicazione.
HttpUpdateServiceConfiguration

Aggiorna in modo atomico un parametro di configurazione del servizio che specifica un certificato TLS (Transport Layer Security) in un record di configurazione all'interno dell'archivio di configurazione dell'API del server HTTP.
HttpWaitForDemandStart

Attende l'arrivo di una nuova richiesta che può essere servita da un nuovo processo della coda di richieste.
HttpWaitForDisconnect

Notifica all'applicazione quando la connessione a un client HTTP viene interrotta per qualsiasi motivo.
HttpWaitForDisconnectEx

Questa funzione è un'estensione di HttpWaitForDisconnect.

Strutture

 
HTTP_BANDWIDTH_LIMIT_INFO

La struttura HTTP_BANDWIDTH_LIMIT_INFO viene usata per impostare o eseguire query sul limite di limitazione della larghezza di banda. Questa struttura deve essere utilizzata durante l'impostazione o l'esecuzione di query su HttpServerBandwidthProperty in una sessione del gruppo o del server URL.
HTTP_BINDING_INFO

Consente di associare un gruppo di URL a una coda di richieste.
HTTP_BYTE_RANGE

La struttura HTTP_BYTE_RANGE viene utilizzata per specificare un intervallo di byte all'interno di un frammento di risposta, un file o un altro blocco di dati memorizzato nella cache.
HTTP_CACHE_POLICY

Consente di definire criteri di cache associati a un frammento di risposta memorizzato nella cache.
HTTP_CHANNEL_BIND_INFO

HTTP_CHANNEL_BIND_INFO.
HTTP_CONNECTION_LIMIT_INFO

Consente di impostare o eseguire query sul limite massimo di connessioni in sospeso per un gruppo di URL.
HTTP_COOKED_URL

Contiene una stringa di richiesta di URL con codifica Unicode UTF-16 convalidata e canonica insieme ai puntatori e alla lunghezza degli elementi.
HTTP_DATA_CHUNK

Rappresenta un singolo blocco di dati in memoria, in un file o nella cache del frammento di risposta dell'API server HTTP.
HTTP_DELEGATE_REQUEST_PROPERTY_INFO

Vengono descritte informazioni aggiuntive sulle proprietà durante la delega di una richiesta.
HTTP_FLOWRATE_INFO

Velocità di trasferimento di una risposta.
HTTP_KNOWN_HEADER

Contiene i valori di intestazione per un'intestazione nota da una richiesta HTTP o da una risposta HTTP.
HTTP_LISTEN_ENDPOINT_INFO

Controlla se gli URL basati su IP devono essere in ascolto sull'indirizzo IP specifico o su un carattere jolly.
HTTP_LOG_DATA

Contiene un valore che specifica il tipo di dati di log.
HTTP_LOG_FIELDS_DATA

Consente di passare i campi registrati per una risposta HTTP quando la registrazione WC3 è abilitata.
HTTP_LOGGING_INFO

Consente di abilitare la registrazione lato server in un gruppo di URL o in una sessione del server.
HTTP_MULTIPLE_KNOWN_HEADERS

Specifica le intestazioni incluse in una risposta HTTP quando sono necessarie più intestazioni.
HTTP_PROPERTY_FLAGS

Utilizzato dalle strutture di configurazione delle proprietà per abilitare o disabilitare una proprietà in un oggetto di configurazione durante l'impostazione delle configurazioni delle proprietà.
HTTP_QOS_SETTING_INFO

Contiene informazioni su un'impostazione QOS.
HTTP_REQUEST_AUTH_INFO

Contiene lo stato di autenticazione della richiesta con un handle per il token client che il processo di ricezione può usare per rappresentare il client autenticato.
HTTP_REQUEST_CHANNEL_BIND_STATUS

HTTP_REQUEST_CHANNEL_BIND_STATUS.
HTTP_REQUEST_HEADERS

Contiene le intestazioni inviate con una richiesta HTTP.
HTTP_REQUEST_INFO

Estende la struttura HTTP_REQUEST con informazioni aggiuntive sulla richiesta.
HTTP_REQUEST_PROPERTY_SNI

Usato per controllare il dominio richiesto dal client all'apertura di una connessione TLS.
HTTP_REQUEST_PROPERTY_STREAM_ERROR

La struttura HTTP_REQUEST_PROPERTY_STREAM_ERROR rappresenta un codice di errore del flusso HTTP/2 o HTTP/3.
HTTP_REQUEST_TIMING_INFO

Contiene informazioni sulla quantità di tempo impiegato in ogni fase di elaborazione delle richieste.
HTTP_REQUEST_V1

Usa la struttura HTTP_REQUEST per restituire i dati associati a una richiesta specifica.
HTTP_REQUEST_V2

Estende la struttura della richiesta HTTP_REQUEST_V1 con altre informazioni sulla richiesta.
HTTP_RESPONSE_HEADERS

Contiene le intestazioni inviate con una risposta HTTP.
HTTP_RESPONSE_INFO

Estende la struttura HTTP_RESPONSE con informazioni aggiuntive per la risposta.
HTTP_RESPONSE_V1

Contiene i dati associati a una risposta HTTP.
HTTP_RESPONSE_V2

Estende la struttura di risposta HTTP versione 1.0 con altre informazioni per la risposta.
HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS

La struttura HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS contiene le informazioni per l'autenticazione di base in un gruppo di URL. Questa struttura è contenuta nella struttura HTTP_SERVER_AUTHENTICATION_INFO.
HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS

Contiene le informazioni per l'autenticazione digest in un gruppo di URL.
HTTP_SERVER_AUTHENTICATION_INFO

Usato per abilitare l'autenticazione lato server in un gruppo di URL o in una sessione del server.
HTTP_SERVICE_BINDING_A

HTTP_SERVICE_BINDING_A.
HTTP_SERVICE_BINDING_BASE

HTTP_SERVICE_BINDING_BASE.
HTTP_SERVICE_BINDING_W

HTTP_SERVICE_BINDING_W.
HTTP_SERVICE_CONFIG_CACHE_SET

Usato nel parametro pConfigInformation della funzione HttpSetServiceConfiguration.
HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM

Consente di specificare un indirizzo IP da aggiungere o eliminare dall'elenco di indirizzi IP a cui è associato il servizio HTTP.
HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY

Utilizzato da HttpQueryServiceConfiguration per restituire un elenco degli indirizzi IP (Internet Protocol) a cui è associato il servizio HTTP.
HTTP_SERVICE_CONFIG_SSL_CCS_KEY

Funge da chiave in base alla quale identifica il record del certificato SSL che specifica che Http.sys deve consultare l'archivio certificati centralizzato (CCS) per trovare i certificati se la porta riceve un handshake Transport Layer Security (TLS).
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

Specifica una configurazione SSL (Secure Sockets Layer) per eseguire una query per un record dell'archivio certificati centralizzato SSL (CCS) sulla porta quando si chiama la funzione HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_SSL_CCS_SET

Rappresenta il record del certificato SSL che specifica che Http.sys deve consultare l'archivio dell'archivio certificati centralizzato (CCS) per trovare i certificati se la porta riceve un handshake Transport Layer Security (TLS).
HTTP_SERVICE_CONFIG_SSL_KEY

Funge da chiave in base alla quale viene identificato un determinato record di certificato SSL (Secure Sockets Layer).
HTTP_SERVICE_CONFIG_SSL_PARAM

Definisce un record nell'archivio di configurazione SSL.
HTTP_SERVICE_CONFIG_SSL_QUERY

Consente di specificare un record specifico per eseguire query nell'archivio di configurazione SSL.
HTTP_SERVICE_CONFIG_SSL_SET

Utilizzato per aggiungere un nuovo record all'archivio SSL o recuperare un record esistente.
HTTP_SERVICE_CONFIG_SSL_SNI_KEY

Funge da chiave in base alla quale un determinato record del certificato SNI (Secure Sockets Layer) viene identificato nell'archivio SNI SSL.
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

Usato per specificare un determinato record del certificato SNI (Secure Sockets Layer) per l'indicazione del nome del server (SNI) per eseguire query nell'archivio SNI SSL.
HTTP_SERVICE_CONFIG_SSL_SNI_SET

Usato per aggiungere un nuovo record del certificato SNI (Secure Sockets Layer) Server Name Indication (SNI) all'archivio SNI SSL o recuperare un record esistente da esso.
HTTP_SERVICE_CONFIG_TIMEOUT_SET

Usato per impostare il valore di timeout dell'API del server HTTP.
HTTP_SERVICE_CONFIG_URLACL_KEY

Consente di specificare un record di prenotazione specifico nell'archivio prenotazioni dello spazio dei nomi URL.
HTTP_SERVICE_CONFIG_URLACL_PARAM

Consente di specificare le autorizzazioni associate a un determinato record nell'archivio prenotazioni dello spazio dei nomi URL.
HTTP_SERVICE_CONFIG_URLACL_QUERY

Consente di specificare un record di prenotazione specifico per eseguire query nell'archivio prenotazioni dello spazio dei nomi URL.
HTTP_SERVICE_CONFIG_URLACL_SET

Consente di aggiungere un nuovo record all'archivio prenotazioni URL o di recuperare un record esistente.
HTTP_SSL_CLIENT_CERT_INFO

Contiene dati su un certificato client SSL (Secure Sockets Layer) che può essere usato per determinare se il certificato è valido.
HTTP_SSL_INFO

Contiene i dati per una connessione che usa Secure Sockets Layer (SSL), ottenuti tramite l'handshake SSL.
HTTP_STATE_INFO

Utilizzato per abilitare o disabilitare una sessione o un gruppo di URL del server.
HTTP_TIMEOUT_LIMIT_INFO

Definisce i limiti di timeout di connessione specifici dell'applicazione.
HTTP_TRANSPORT_ADDRESS

Specifica gli indirizzi (locali e remoti) usati per una determinata connessione HTTP.
HTTP_UNKNOWN_HEADER

Contiene il nome e il valore di un'intestazione in una richiesta o una risposta HTTP il cui nome non viene visualizzato nell'enumerazione .
HTTP_VERSION

Definisce una versione del protocollo HTTP richiesta da una richiesta o una risposta.
HTTP_WSK_API_TIMINGS

Rappresenta le statistiche sul tempo dedicato a chiamate API specifiche.
HTTPAPI_VERSION

Definisce la versione dell'API server HTTP.