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. |