Partager via


API de serveur HTTP

Vue d’ensemble de la technologie d’API du serveur HTTP.

Pour développer l’API serveur HTTP, vous avez besoin des en-têtes suivants :

Pour obtenir des conseils de programmation pour cette technologie, consultez :

Énumérations

 
HTTP_503_RESPONSE_VERBOSITY

L’énumération HTTP_503_RESPONSE_VERBOSITY définit les niveaux de détail pour les réponses d’erreur 503, service indisponible. Cette structure doit être utilisée lors de la définition ou de l’interrogation de HttpServer503ResponseProperty sur une file d’attente de requêtes.
HTTP_AUTH_STATUS

Définit l’état d’authentification d’une demande.
HTTP_AUTHENTICATION_HARDENING_LEVELS

Niveau de renforcement du serveur.
HTTP_CACHE_POLICY_TYPE

Le type d’énumération HTTP_CACHE_POLICY_TYPE définit les stratégies de cache disponibles.
HTTP_DATA_CHUNK_TYPE

Définit la source de données pour un bloc de données.
HTTP_DELEGATE_REQUEST_PROPERTY_ID

Décrit les informations de propriété pour une demande de délégué.
HTTP_ENABLED_STATE

Définit l’état d’une file d’attente de requêtes, d’une session serveur ou d’un groupe d’URL.
HTTP_FEATURE_ID

Définit des constantes qui spécifient un identificateur pour une fonctionnalité HTTP.
HTTP_HEADER_ID

Le type d’énumération HTTP_HEADER_ID répertorie les en-têtes connus pour les requêtes et les réponses HTTP, et associe un index de tableau à chacun de ces en-têtes.
HTTP_LOG_DATA_TYPE

Identifie le type de données de journal.
HTTP_LOGGING_ROLLOVER_TYPE

Définit les types de substitution de fichier journal.
HTTP_LOGGING_TYPE

Définit le type de journalisation qui est effectué.
HTTP_QOS_SETTING_TYPE

Identifie le type d’un paramètre QOS contenu dans une structure HTTP_QOS_SETTING_INFO.
HTTP_REQUEST_AUTH_TYPE

L’énumération HTTP_REQUEST_AUTH_TYPE définit les types d’authentification pris en charge par l’API serveur HTTP. Cette énumération est utilisée dans la structure HTTP_REQUEST_AUTH_INFO.
HTTP_REQUEST_INFO_TYPE

L’énumération HTTP_REQUEST_INFO_TYPE définit le type d’informations contenues dans la structure HTTP_REQUEST_INFO.
HTTP_REQUEST_PROPERTY

Définit les propriétés configurées par l’API serveur HTTP sur une requête.
HTTP_REQUEST_TIMING_TYPE

Définit des constantes qui spécifient les délais de requête possibles pour lesquels les informations seront retournées dans HTTP_REQUEST_TIMING_INFO.
HTTP_RESPONSE_INFO_TYPE

L’énumération HTTP_RESPONSE_INFO_TYPE définit le type d’informations contenues dans la structure HTTP_RESPONSE_INFO. Cette énumération est utilisée dans la structure HTTP_RESPONSE_INFO.
HTTP_SERVER_PROPERTY

Définit les propriétés configurées par l’API serveur HTTP sur un groupe d’URL, une session de serveur ou une file d’attente de requêtes.
HTTP_SERVICE_BINDING_TYPE

HTTP_SERVICE_BINDING_TYPE type énuméré spécifie le type de chaîne pour les noms de service.
HTTP_SERVICE_CONFIG_CACHE_KEY

Utilisé dans les fonctions HttpSetServiceConfiguration et HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_ID

Définit les options de configuration du service.
HTTP_SERVICE_CONFIG_QUERY_TYPE

Le type d’énumération HTTP_SERVICE_CONFIG_QUERY_TYPE définit différents types de requêtes à effectuer. Il est utilisé dans les structures HTTP_SERVICE_CONFIG_SSL_QUERY, HTTP_SERVICE_CONFIG_SSL_CCS_QUERY et HTTP_SERVICE_CONFIG_URLACL_QUERY.
HTTP_SERVICE_CONFIG_TIMEOUT_KEY

L’énumération HTTP_SERVICE_CONFIG_TIMEOUT_KEY définit le type de minuteur interrogé ou configuré via la structure HTTP_SERVICE_CONFIG_TIMEOUT_SET.
HTTP_VERB

Le type d’énumération HTTP_VERB définit des valeurs utilisées pour spécifier des verbes HTTP standard connus dans la structure HTTP_REQUEST. La majorité de ces verbes connus sont documentés dans RFC 2616 et RFC 2518, comme indiqué ci-dessous.

Fonctions

 
HTTP_EQUAL_VERSION

Retourne une valeur autre que zéro si une structure de HTTP_VERSION est égale à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTP_GREATER_EQUAL_VERSION

La macro HTTP_GREATER_EQUAL_VERSION retourne une valeur différente de zéro si une structure HTTP_VERSION est supérieure ou égale à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTP_GREATER_VERSION

Retourne une valeur différente de zéro si une structure HTTP_VERSION est supérieure à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTP_IS_NULL_ID

Détermine si le HTTP_OPAQUE_ID a la valeur NULL.
HTTP_LESS_EQUAL_VERSION

Retourne une valeur différente de zéro si une structure HTTP_VERSION est inférieure ou égale à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTP_LESS_VERSION

Retourne une valeur différente de zéro si une structure HTTP_VERSION est inférieure à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTP_NOT_EQUAL_VERSION

Retourne une valeur différente de zéro si une structure HTTP_VERSION est supérieure ou inférieure à une combinaison de version majeure/mineure spécifiée, ou zéro si elle est égale.
HTTP_SET_NULL_ID

La macro HTTP_SET_NULL_ID définit le HTTP_OPAQUE_ID sur NULL.
HTTP_SET_VERSION

Définit une structure de HTTP_VERSION spécifiée sur une combinaison de version principale/mineure spécifiée.
HttpAddFragmentToCache

La fonction HttpAddFragmentToCache met en cache un fragment de données avec un nom spécifié par lequel il peut être récupéré, ou met à jour les données mises en cache sous un nom spécifié.
HttpAddUrl

Inscrit une URL donnée afin que les demandes qui lui correspondent soient routées vers une file d’attente de demandes d’API de serveur HTTP spécifiée.
HttpAddUrlToUrlGroup

Ajoute l’URL spécifiée au groupe d’URL identifié par l’ID de groupe d’URL.
HTTPAPI_EQUAL_VERSION

Retourne une valeur différente de zéro si une structure HTTPAPI_VERSION est exactement égale à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTPAPI_GREATER_VERSION

Retourne une valeur autre que zéro si une structure HTTPAPI_VERSION est supérieure à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTPAPI_LESS_VERSION

Retourne une valeur autre que zéro si une structure HTTPAPI_VERSION est inférieure à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HTTPAPI_VERSION_GREATER_OR_EQUAL

La HTTPAPI_VERSION_GREATER_OR_EQUAL retourne une valeur différente de zéro si une structure de HTTPAPI_VERSION est supérieure ou égale à une combinaison de version majeure/mineure spécifiée, ou zéro dans le cas contraire.
HttpCancelHttpRequest

La fonction HttpCancelHttpRequest annule un reqest spécifié.
HttpCloseRequestQueue

Ferme le handle à la file d’attente de requêtes spécifiée créée par HttpCreateRequestQueue.
HttpCloseServerSession

Supprime la session de serveur identifiée par l’ID de session du serveur.
HttpCloseUrlGroup

Ferme le groupe d’URL identifié par l’ID de groupe d’URL.
HttpCreateHttpHandle

Crée une file d’attente de requêtes HTTP pour l’application appelante et lui retourne un handle.
HttpCreateRequestQueue

Crée une file d’attente de demandes ou ouvre une file d’attente de requêtes existante.
HttpCreateServerSession

Crée une session de serveur pour la version spécifiée.
HttpCreateUrlGroup

Crée un groupe d’URL sous la session de serveur spécifiée.
HttpDeclarePush

Déclare une relation de ressource à sous-ressource à utiliser pour un push de serveur HTTP. HTTP.sys effectue ensuite un push serveur HTTP 2.0 pour la ressource donnée, si le protocole, la connexion, le client et les stratégies sous-jacents autorisent l’opération push.
HttpDelegateRequestEx

Délègue une requête de la file d’attente des requêtes sources à la file d’attente des demandes cibles.
HttpDeleteServiceConfiguration

Supprime les données spécifiées, telles que les adresses IP ou les certificats SSL, du magasin de configuration de l’API du serveur HTTP, un enregistrement à la fois.
HttpFindUrlGroupId

Récupère un ID de groupe d’URL pour une URL et une file d’attente de requêtes.
HttpFlushResponseCache

Supprime du cache d’API du serveur HTTP associé à une file d’attente de requêtes donnée tous les fragments de réponse qui ont un nom dont la partie du site correspond à un UrlPrefix spécifié.
HttpInitialize

La fonction HttpInitialize initialise le pilote d’API serveur HTTP, le démarre, s’il n’a pas déjà été démarré, et alloue des structures de données pour l’application appelante afin de prendre en charge la création de file d’attente de réponse et d’autres opérations.
HttpIsFeatureSupported

Vérifie si une fonctionnalité particulière est prise en charge.
HttpPrepareUrl

Analyse, analyse et normalise une URL Unicode ou punycode non normalisée afin qu’elle soit sécurisée et valide à utiliser dans d’autres fonctions HTTP.
HttpQueryRequestQueueProperty

Interroge une propriété de la file d’attente de requêtes identifiée par le handle spécifié.
HttpQueryServerSessionProperty

Interroge une propriété de serveur sur la session de serveur spécifiée.
HttpQueryServiceConfiguration

Récupère un ou plusieurs enregistrements de configuration de l’API du serveur HTTP.
HttpQueryUrlGroupProperty

Interroge une propriété sur le groupe d’URL spécifié.
HttpReadFragmentFromCache

La fonction HttpReadFragmentFromCache récupère un fragment de réponse portant un nom spécifié à partir du cache de l’API du serveur HTTP.
HttpReceiveClientCertificate

La fonction HttpReceiveClientCertificate est utilisée par une application serveur pour récupérer un certificat SSL client ou un jeton de liaison de canal (CBT).
HttpReceiveHttpRequest

Récupère la requête HTTP disponible suivante à partir de la file d’attente de requêtes spécifiée de manière synchrone ou asynchrone.
HttpReceiveRequestEntityBody

Reçoit des données de corps d’entité supplémentaires pour une requête HTTP spécifiée.
HttpRemoveUrl

Provoque l’arrêt du routage des demandes qui correspondent à une chaîne UrlPrefix spécifiée vers une file d’attente de requêtes spécifiée.
HttpRemoveUrlFromUrlGroup

Supprime l’URL spécifiée du groupe identifié par l’ID de groupe d’URL.
HttpSendHttpResponse

Envoie une réponse HTTP à la requête HTTP spécifiée.
HttpSendResponseEntityBody

Envoie des données de corps d’entité associées à une réponse HTTP.
HttpSetRequestProperty

Définit une nouvelle propriété ou modifie une propriété existante sur la requête spécifiée.
HttpSetRequestQueueProperty

Définit une nouvelle propriété ou modifie une propriété existante dans la file d’attente de requêtes identifiée par le handle spécifié.
HttpSetServerSessionProperty

Définit une nouvelle propriété de session de serveur ou modifie une propriété existante sur la session de serveur spécifiée.
HttpSetServiceConfiguration

Crée et définit un enregistrement de configuration pour le magasin de configuration de l’API du serveur HTTP.
HttpSetUrlGroupProperty

Définit une nouvelle propriété ou modifie une propriété existante sur le groupe d’URL spécifié.
HttpShutdownRequestQueue

Arrête la mise en file d’attente des demandes pour le processus de file d’attente de requêtes spécifié.
HttpTerminate

Nettoie les ressources utilisées par l’API serveur HTTP pour traiter les appels d’une application.
HttpUpdateServiceConfiguration

Mises à jour atomiquement un paramètre de configuration de service qui spécifie un certificat TLS (Transport Layer Security) dans un enregistrement de configuration dans le magasin de configuration de l’API du serveur HTTP.
HttpWaitForDemandStart

Attend l’arrivée d’une nouvelle demande qui peut être traitée par un nouveau processus de file d’attente de requêtes.
HttpWaitForDisconnect

Avertit l’application lorsque la connexion à un client HTTP est interrompue pour une raison quelconque.
HttpWaitForDisconnectEx

Cette fonction est une extension de HttpWaitForDisconnect.

Structures

 
HTTP_BANDWIDTH_LIMIT_INFO

La structure HTTP_BANDWIDTH_LIMIT_INFO est utilisée pour définir ou interroger la limite de limitation de bande passante. Cette structure doit être utilisée lors de la définition ou de l’interrogation de HttpServerBandwidthProperty sur un groupe d’URL ou une session de serveur.
HTTP_BINDING_INFO

Permet d’associer un groupe d’URL à une file d’attente de requêtes.
HTTP_BYTE_RANGE

La structure HTTP_BYTE_RANGE est utilisée pour spécifier une plage d’octets dans un fragment de réponse mis en cache, un fichier ou un autre bloc de données.
HTTP_CACHE_POLICY

Utilisé pour définir une stratégie de cache associée à un fragment de réponse mis en cache.
HTTP_CHANNEL_BIND_INFO

HTTP_CHANNEL_BIND_INFO.
HTTP_CONNECTION_LIMIT_INFO

Permet de définir ou d’interroger la limite du nombre maximal de connexions en attente pour un groupe d’URL.
HTTP_COOKED_URL

Contient une chaîne de requête d’URL encodée en unicode UTF-16 validée, canonique, ainsi que des pointeurs et des longueurs d’élément.
HTTP_DATA_CHUNK

Représente un bloc de données individuel en mémoire, dans un fichier ou dans le cache de fragments de réponse de l’API du serveur HTTP.
HTTP_DELEGATE_REQUEST_PROPERTY_INFO

Décrit des informations de propriété supplémentaires lors de la délégation d’une demande.
HTTP_FLOWRATE_INFO

Taux de transfert d’une réponse.
HTTP_KNOWN_HEADER

Contient les valeurs d’en-tête d’un en-tête connu à partir d’une requête HTTP ou d’une réponse HTTP.
HTTP_LISTEN_ENDPOINT_INFO

Contrôle si les URL basées sur IP doivent écouter sur l’adresse IP spécifique ou sur un caractère générique.
HTTP_LOG_DATA

Contient une valeur qui spécifie le type des données de journal.
HTTP_LOG_FIELDS_DATA

Permet de passer les champs enregistrés pour une réponse HTTP lorsque la journalisation WC3 est activée.
HTTP_LOGGING_INFO

Permet d’activer la journalisation côté serveur sur un groupe d’URL ou sur une session de serveur.
HTTP_MULTIPLE_KNOWN_HEADERS

Spécifie les en-têtes inclus dans une réponse HTTP lorsque plusieurs en-têtes sont nécessaires.
HTTP_PROPERTY_FLAGS

Utilisé par les structures de configuration de propriété pour activer ou désactiver une propriété sur un objet de configuration lors de la définition de configurations de propriétés.
HTTP_QOS_SETTING_INFO

Contient des informations sur un paramètre QOS.
HTTP_REQUEST_AUTH_INFO

Contient le status d’authentification de la demande avec un handle pour le jeton client que le processus de réception peut utiliser pour emprunter l’identité du client authentifié.
HTTP_REQUEST_CHANNEL_BIND_STATUS

HTTP_REQUEST_CHANNEL_BIND_STATUS.
HTTP_REQUEST_HEADERS

Contient les en-têtes envoyés avec une requête HTTP.
HTTP_REQUEST_INFO

Étend la structure HTTP_REQUEST avec des informations supplémentaires sur la demande.
HTTP_REQUEST_PROPERTY_STREAM_ERROR

La structure HTTP_REQUEST_PROPERTY_STREAM_ERROR représente un code d’erreur de flux HTTP/2 ou HTTP/3.
HTTP_REQUEST_TIMING_INFO

Contient des informations sur le temps passé à chaque étape de traitement de la demande.
HTTP_REQUEST_V1

Utilise la structure HTTP_REQUEST pour retourner des données associées à une requête spécifique.
HTTP_REQUEST_V2

Étend la structure de requête HTTP_REQUEST_V1 avec plus d’informations sur la demande.
HTTP_RESPONSE_HEADERS

Contient les en-têtes envoyés avec une réponse HTTP.
HTTP_RESPONSE_INFO

Étend la structure HTTP_RESPONSE avec des informations supplémentaires pour la réponse.
HTTP_RESPONSE_V1

Contient des données associées à une réponse HTTP.
HTTP_RESPONSE_V2

Étend la structure de réponse HTTP version 1.0 avec plus d’informations pour la réponse.
HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS

La structure HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS contient les informations relatives à l’authentification de base sur un groupe d’URL. Cette structure est contenue dans la structure HTTP_SERVER_AUTHENTICATION_INFO.
HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS

Contient les informations pour l’authentification digest sur un groupe d’URL.
HTTP_SERVER_AUTHENTICATION_INFO

Permet d’activer l’authentification côté serveur sur un groupe d’URL ou une session serveur.
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

Utilisé dans le paramètre pConfigInformation de la fonction HttpSetServiceConfiguration.
HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM

Permet de spécifier une adresse IP à ajouter ou à supprimer de la liste des adresses IP auxquelles le service HTTP est lié.
HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY

Utilisé par HttpQueryServiceConfiguration pour renvoyer une liste des adresses IP (Internet Protocol) auxquelles le service HTTP est lié.
HTTP_SERVICE_CONFIG_SSL_CCS_KEY

Sert de clé permettant d’identifier l’enregistrement de certificat SSL qui spécifie que Http.sys devez consulter le magasin de certificats centralisé (CCS) pour rechercher les certificats si le port reçoit une négociation TLS (Transport Layer Security).
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

Spécifie une configuration SSL (Secure Sockets Layer) pour rechercher un enregistrement CCS (Magasin de certificats centralisé) SSL sur le port lorsque vous appelez la fonction HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_SSL_CCS_SET

Représente l’enregistrement de certificat SSL qui spécifie que Http.sys devez consulter le magasin de certificats centralisé (CCS) pour rechercher les certificats si le port reçoit une négociation TLS (Transport Layer Security).
HTTP_SERVICE_CONFIG_SSL_KEY

Sert de clé par laquelle un enregistrement de certificat SSL (Secure Sockets Layer) donné est identifié.
HTTP_SERVICE_CONFIG_SSL_PARAM

Définit un enregistrement dans le magasin de configuration SSL.
HTTP_SERVICE_CONFIG_SSL_QUERY

Permet de spécifier un enregistrement particulier à interroger dans le magasin de configuration SSL.
HTTP_SERVICE_CONFIG_SSL_SET

Permet d’ajouter un nouvel enregistrement au magasin SSL ou de récupérer un enregistrement existant à partir de celui-ci.
HTTP_SERVICE_CONFIG_SSL_SNI_KEY

Sert de clé par laquelle un enregistrement de certificat SNI (Secure Sockets Layer) donné est identifié dans le magasin SNI SSL.
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

Permet de spécifier un enregistrement de certificat SNI (Secure Sockets Layer) d’indication de nom de serveur (SNI) particulier à interroger dans le magasin SNI SSL.
HTTP_SERVICE_CONFIG_SSL_SNI_SET

Permet d’ajouter un nouvel enregistrement de certificat d’indication de nom de serveur (SNI) SSL (Secure Sockets Layer) au magasin SNI SSL ou de récupérer un enregistrement existant à partir de celui-ci.
HTTP_SERVICE_CONFIG_TIMEOUT_SET

Permet de définir la valeur du délai d’expiration large de l’API serveur HTTP.
HTTP_SERVICE_CONFIG_URLACL_KEY

Permet de spécifier un enregistrement de réservation particulier dans le magasin de réservations de l’espace de noms d’URL.
HTTP_SERVICE_CONFIG_URLACL_PARAM

Permet de spécifier les autorisations associées à un enregistrement particulier dans le magasin de réservations de l’espace de noms d’URL.
HTTP_SERVICE_CONFIG_URLACL_QUERY

Permet de spécifier un enregistrement de réservation particulier à interroger dans le magasin de réservations de l’espace de noms d’URL.
HTTP_SERVICE_CONFIG_URLACL_SET

Permet d’ajouter un nouvel enregistrement au magasin de réservations d’URL ou de récupérer un enregistrement existant à partir de celui-ci.
HTTP_SSL_CLIENT_CERT_INFO

Contient des données sur un certificat client SSL (Secure Sockets Layer) qui peut être utilisé pour déterminer si le certificat est valide.
HTTP_SSL_INFO

Contient les données d’une connexion qui utilise ssl (Secure Sockets Layer), obtenues par le biais de l’établissement d’une liaison SSL.
HTTP_STATE_INFO

Permet d’activer ou de désactiver une session de serveur ou un groupe d’URL.
HTTP_TIMEOUT_LIMIT_INFO

Définit les limites de délai d’expiration de connexion spécifiques à l’application.
HTTP_TRANSPORT_ADDRESS

Spécifie les adresses (locales et distantes) utilisées pour une connexion HTTP particulière.
HTTP_UNKNOWN_HEADER

Contient le nom et la valeur d’un en-tête dans une requête ou une réponse HTTP dont le nom n’apparaît pas dans l’énumération.
HTTP_VERSION

Définit une version du protocole HTTP qu’une requête nécessite ou qu’une réponse fournit.
HTTPAPI_VERSION

Définit la version de l’API serveur HTTP.