API do servidor HTTP

Visão geral da tecnologia de API do servidor HTTP.

Para desenvolver a API do servidor HTTP, você precisa destes cabeçalhos:

Para obter diretrizes de programação para essa tecnologia, confira:

Enumerações

 
HTTP_503_RESPONSE_VERBOSITY

A enumeração HTTP_503_RESPONSE_VERBOSITY define os níveis de detalhamento para um 503, serviço indisponível, respostas de erro. Essa estrutura deve ser usada ao definir ou consultar o HttpServer503ResponseProperty em uma fila de solicitações.
HTTP_AUTH_STATUS

Define o estado de autenticação de uma solicitação.
HTTP_AUTHENTICATION_HARDENING_LEVELS

Nível de proteção do servidor.
HTTP_CACHE_POLICY_TYPE

O tipo de enumeração HTTP_CACHE_POLICY_TYPE define as políticas de cache disponíveis.
HTTP_DATA_CHUNK_TYPE

Define a fonte de dados para uma parte de dados.
HTTP_DELEGATE_REQUEST_PROPERTY_ID

Descreve informações de propriedade para uma solicitação de representante.
HTTP_ENABLED_STATE

Define o estado de uma fila de solicitação, sessão de servidor ou grupo de URL.
HTTP_FEATURE_ID

Define constantes que especificam um identificador para um recurso HTTP.
HTTP_HEADER_ID

O HTTP_HEADER_ID tipo de enumeração lista cabeçalhos conhecidos para solicitações e respostas HTTP e associa um índice de matriz a cada cabeçalho desse tipo.
HTTP_LOG_DATA_TYPE

Identifica o tipo de dados de log.
HTTP_LOGGING_ROLLOVER_TYPE

Define os tipos de substituição de arquivo de log.
HTTP_LOGGING_TYPE

Define o tipo de registro em log que é executado.
HTTP_QOS_SETTING_TYPE

Identifica o tipo de uma configuração de QOS contida em uma estrutura HTTP_QOS_SETTING_INFO.
HTTP_REQUEST_AUTH_TYPE

A enumeração HTTP_REQUEST_AUTH_TYPE define os tipos de autenticação compatíveis com a API do servidor HTTP. Essa enumeração é usada na estrutura HTTP_REQUEST_AUTH_INFO.
HTTP_REQUEST_INFO_TYPE

A enumeração HTTP_REQUEST_INFO_TYPE define o tipo de informações contidas na estrutura HTTP_REQUEST_INFO .
HTTP_REQUEST_PROPERTY

Define as propriedades configuradas pela API do Servidor HTTP em uma solicitação.
HTTP_REQUEST_TIMING_TYPE

Define constantes que especificam possíveis intervalos de solicitação para os quais as informações serão retornadas em HTTP_REQUEST_TIMING_INFO.
HTTP_RESPONSE_INFO_TYPE

A enumeração HTTP_RESPONSE_INFO_TYPE define o tipo de informações contidas na estrutura HTTP_RESPONSE_INFO. Essa enumeração é usada na estrutura HTTP_RESPONSE_INFO.
HTTP_SERVER_PROPERTY

Define as propriedades configuradas pela API do Servidor HTTP em um grupo de URL, sessão de servidor ou fila de solicitações.
HTTP_SERVICE_BINDING_TYPE

HTTP_SERVICE_BINDING_TYPE tipo enumerado especifica o tipo de cadeia de caracteres para nomes de serviço.
HTTP_SERVICE_CONFIG_CACHE_KEY

Usado nas funções HttpSetServiceConfiguration e HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_ID

Define as opções de configuração de serviço.
HTTP_SERVICE_CONFIG_QUERY_TYPE

O tipo de enumeração HTTP_SERVICE_CONFIG_QUERY_TYPE define vários tipos de consultas a serem executadas. Ele é usado nas estruturas HTTP_SERVICE_CONFIG_SSL_QUERY, HTTP_SERVICE_CONFIG_SSL_CCS_QUERY e HTTP_SERVICE_CONFIG_URLACL_QUERY.
HTTP_SERVICE_CONFIG_TIMEOUT_KEY

A enumeração HTTP_SERVICE_CONFIG_TIMEOUT_KEY define o tipo de temporizador que é consultado ou configurado por meio da estrutura HTTP_SERVICE_CONFIG_TIMEOUT_SET.
HTTP_VERB

O tipo de enumeração HTTP_VERB define valores que são usados para especificar verbos HTTP padrão conhecidos na estrutura HTTP_REQUEST. A maioria desses verbos conhecidos está documentada em RFC 2616 e RFC 2518, conforme indicado abaixo.

Funções

 
HTTP_EQUAL_VERSION

Retornará um valor diferente de zero se uma estrutura HTTP_VERSION for igual a uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTP_GREATER_EQUAL_VERSION

A macro HTTP_GREATER_EQUAL_VERSION retornará um valor diferente de zero se uma estrutura HTTP_VERSION for maior ou igual a uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTP_GREATER_VERSION

Retornará um valor diferente de zero se uma estrutura HTTP_VERSION for maior que uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTP_IS_NULL_ID

Determina se o HTTP_OPAQUE_ID é NULL.
HTTP_LESS_EQUAL_VERSION

Retornará um valor diferente de zero se uma estrutura de HTTP_VERSION for menor ou igual a uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTP_LESS_VERSION

Retornará um valor diferente de zero se uma estrutura HTTP_VERSION for menor que uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTP_NOT_EQUAL_VERSION

Retornará um valor diferente de zero se uma estrutura HTTP_VERSION for maior ou menor que uma combinação de versão principal/secundária especificada ou zero se for igual.
HTTP_SET_NULL_ID

A macro HTTP_SET_NULL_ID define o HTTP_OPAQUE_ID como NULL.
HTTP_SET_VERSION

Define uma estrutura de HTTP_VERSION especificada como uma combinação de versão principal/secundária especificada.
HttpAddFragmentToCache

A função HttpAddFragmentToCache armazena em cache um fragmento de dados com um nome especificado pelo qual ele pode ser recuperado ou atualiza os dados armazenados em cache com um nome especificado.
HttpAddUrl

Registra uma determinada URL para que as solicitações que correspondem a ela sejam roteadas para uma fila de solicitação de API do Servidor HTTP especificada.
HttpAddUrlToUrlGroup

Adiciona a URL especificada ao Grupo de URL identificado pela ID do Grupo de URL.
HTTPAPI_EQUAL_VERSION

Retornará um valor diferente de zero se uma estrutura de HTTPAPI_VERSION for exatamente igual a uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTPAPI_GREATER_VERSION

Retornará um valor diferente de zero se uma estrutura HTTPAPI_VERSION for maior que uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTPAPI_LESS_VERSION

Retornará um valor diferente de zero se uma estrutura HTTPAPI_VERSION for menor que uma combinação de versão principal/secundária especificada ou zero caso contrário.
HTTPAPI_VERSION_GREATER_OR_EQUAL

O HTTPAPI_VERSION_GREATER_OR_EQUAL retornará um valor diferente de zero se uma estrutura de HTTPAPI_VERSION for maior ou igual a uma combinação de versão principal/secundária especificada ou zero caso contrário.
HttpCancelHttpRequest

A função HttpCancelHttpRequest cancela um reqest especificado.
HttpCloseRequestQueue

Fecha o identificador para a fila de solicitação especificada criada por HttpCreateRequestQueue.
HttpCloseServerSession

Exclui a sessão do servidor identificada pela ID da sessão do servidor.
HttpCloseUrlGroup

Fecha o Grupo de URL identificado pela ID do Grupo de URL.
HttpCreateHttpHandle

Cria uma fila de solicitação HTTP para o aplicativo de chamada e retorna um identificador para ele.
HttpCreateRequestQueue

Cria uma nova fila de solicitações ou abre uma fila de solicitações existente.
HttpCreateServerSession

Cria uma sessão de servidor para a versão especificada.
HttpCreateUrlGroup

Cria um Grupo de URLs na sessão de servidor especificada.
HttpDeclarePush

Declara uma relação de recurso para sub-recurso a ser usada para um push de servidor HTTP. HTTP.sys executará um push de servidor HTTP 2.0 para o recurso especificado, se o protocolo, a conexão, o cliente e as políticas subjacentes permitirem a operação de push.
HttpDelegateRequestEx

Delega uma solicitação da fila de solicitação de origem para a fila de solicitação de destino.
HttpDeleteServiceConfiguration

Exclui dados especificados, como endereços IP ou Certificados SSL, do repositório de configuração da API do Servidor HTTP, um registro por vez.
HttpFindUrlGroupId

Recupera uma ID de grupo de URL para uma URL e uma fila de solicitação.
HttpFlushResponseCache

Remove do cache da API do Servidor HTTP associado a uma determinada fila de solicitações todos os fragmentos de resposta que têm um nome cuja parte do site corresponde a um UrlPrefix especificado.
HttpInitialize

A função HttpInitialize inicializa o driver de API do servidor HTTP, inicia-o, se ainda não foi iniciado e aloca estruturas de dados para o aplicativo de chamada para dar suporte à criação da fila de resposta e outras operações.
HttpIsFeatureSupported

Verifica se há suporte para um recurso específico.
HttpPrepareUrl

Analisa, analisa e normaliza uma URL Unicode ou punycode não normalizada para que seja seguro e válido usar em outras funções HTTP.
HttpQueryRequestQueueProperty

Consulta uma propriedade da fila de solicitação identificada pelo identificador especificado.
HttpQueryServerSessionProperty

Consulta uma propriedade de servidor na sessão de servidor especificada.
HttpQueryServiceConfiguration

Recupera um ou mais registros de configuração da API do Servidor HTTP.
HttpQueryUrlGroupProperty

Consulta uma propriedade no grupo de URL especificado.
HttpReadFragmentFromCache

A função HttpReadFragmentFromCache recupera um fragmento de resposta com um nome especificado do cache da API do servidor HTTP.
HttpReceiveClientCertificate

A função HttpReceiveClientCertificate é usada por um aplicativo de servidor para recuperar um certificado SSL do cliente ou cbt (token de associação de canal).
HttpReceiveHttpRequest

Recupera a próxima solicitação HTTP disponível da fila de solicitação especificada de forma síncrona ou assíncrona.
HttpReceiveRequestEntityBody

Recebe dados adicionais do corpo da entidade para uma solicitação HTTP especificada.
HttpRemoveUrl

Faz com que o sistema pare as solicitações de roteamento que correspondem a uma cadeia de caracteres UrlPrefix especificada a uma fila de solicitação especificada.
HttpRemoveUrlFromUrlGroup

Remove a URL especificada do grupo identificado pela ID do Grupo de URL.
HttpSendHttpResponse

Envia uma resposta HTTP para a solicitação HTTP especificada.
HttpSendResponseEntityBody

Envia dados do corpo da entidade associados a uma resposta HTTP.
HttpSetRequestProperty

Define uma nova propriedade ou modifica uma propriedade existente na solicitação especificada.
HttpSetRequestQueueProperty

Define uma nova propriedade ou modifica uma propriedade existente na fila de solicitação identificada pelo identificador especificado.
HttpSetServerSessionProperty

Define uma nova propriedade de sessão de servidor ou modifica uma propriedade existente na sessão de servidor especificada.
HttpSetServiceConfiguration

Cria e define um registro de configuração para o repositório de configuração da API do Servidor HTTP.
HttpSetUrlGroupProperty

Define uma nova propriedade ou modifica uma propriedade existente no grupo de URL especificado.
HttpShutdownRequestQueue

Interrompe o enfileiramento de solicitações para o processo de fila de solicitação especificado.
HttpTerminate

Limpa os recursos usados pela API do Servidor HTTP para processar chamadas por um aplicativo.
HttpUpdateServiceConfiguration

Atualizações atomicamente um parâmetro de configuração de serviço que especifica um certificado TLS (Transport Layer Security) em um registro de configuração dentro do repositório de configuração da API do Servidor HTTP.
HttpWaitForDemandStart

Aguarda a chegada de uma nova solicitação que pode ser atendida por um novo processo de fila de solicitação.
HttpWaitForDisconnect

Notifica o aplicativo quando a conexão com um cliente HTTP é interrompida por qualquer motivo.
HttpWaitForDisconnectEx

Essa função é uma extensão para HttpWaitForDisconnect.

Estruturas

 
HTTP_BANDWIDTH_LIMIT_INFO

A estrutura HTTP_BANDWIDTH_LIMIT_INFO é usada para definir ou consultar o limite de limitação de largura de banda. Essa estrutura deve ser usada ao definir ou consultar o HttpServerBandwidthProperty em um grupo de URLs ou sessão de servidor.
HTTP_BINDING_INFO

Usado para associar um grupo de URL a uma fila de solicitações.
HTTP_BYTE_RANGE

A estrutura HTTP_BYTE_RANGE é usada para especificar um intervalo de bytes dentro de um fragmento de resposta armazenado em cache, arquivo ou outro bloco de dados.
HTTP_CACHE_POLICY

Usado para definir uma política de cache associada a um fragmento de resposta armazenado em cache.
HTTP_CHANNEL_BIND_INFO

HTTP_CHANNEL_BIND_INFO.
HTTP_CONNECTION_LIMIT_INFO

Usado para definir ou consultar o limite no número máximo de conexões pendentes para um grupo de URLs.
HTTP_COOKED_URL

Contém uma cadeia de caracteres de solicitação de URL codificada em Unicode em UTF-16 validada, canônica, juntamente com ponteiros para ela e comprimentos de elemento.
HTTP_DATA_CHUNK

Representa um bloco individual de dados na memória, em um arquivo ou no cache de fragmento de resposta da API do Servidor HTTP.
HTTP_DELEGATE_REQUEST_PROPERTY_INFO

Descreve informações de propriedade adicionais ao delegar uma solicitação.
HTTP_FLOWRATE_INFO

A taxa de transferência de uma resposta.
HTTP_KNOWN_HEADER

Contém os valores de cabeçalho para um cabeçalho conhecido de uma solicitação HTTP ou resposta HTTP.
HTTP_LISTEN_ENDPOINT_INFO

Controla se as URLs baseadas em IP devem escutar no endereço IP específico ou em um curinga.
HTTP_LOG_DATA

Contém um valor que especifica o tipo de dados de log.
HTTP_LOG_FIELDS_DATA

Usado para passar os campos registrados para uma resposta HTTP quando o log do WC3 estiver habilitado.
HTTP_LOGGING_INFO

Usado para habilitar o log do lado do servidor em um grupo de URL ou em uma sessão de servidor.
HTTP_MULTIPLE_KNOWN_HEADERS

Especifica os cabeçalhos incluídos em uma resposta HTTP quando mais de um cabeçalho é necessário.
HTTP_PROPERTY_FLAGS

Usado pelas estruturas de configuração de propriedade para habilitar ou desabilitar uma propriedade em um objeto de configuração ao definir configurações de propriedade.
HTTP_QOS_SETTING_INFO

Contém informações sobre uma configuração de QOS.
HTTP_REQUEST_AUTH_INFO

Contém o status de autenticação da solicitação com um identificador para o token de cliente que o processo de recebimento pode usar para representar o cliente autenticado.
HTTP_REQUEST_CHANNEL_BIND_STATUS

HTTP_REQUEST_CHANNEL_BIND_STATUS.
HTTP_REQUEST_HEADERS

Contém cabeçalhos enviados com uma solicitação HTTP.
HTTP_REQUEST_INFO

Estende a estrutura HTTP_REQUEST com informações adicionais sobre a solicitação.
HTTP_REQUEST_PROPERTY_STREAM_ERROR

A estrutura HTTP_REQUEST_PROPERTY_STREAM_ERROR representa um código de erro de fluxo HTTP/2 ou HTTP/3.
HTTP_REQUEST_TIMING_INFO

Contém informações sobre quanto tempo foi gasto em cada estágio de processamento de solicitação.
HTTP_REQUEST_V1

Usa a estrutura HTTP_REQUEST para retornar dados associados a uma solicitação específica.
HTTP_REQUEST_V2

Estende a estrutura de solicitação HTTP_REQUEST_V1 com mais informações sobre a solicitação.
HTTP_RESPONSE_HEADERS

Contém os cabeçalhos enviados com uma resposta HTTP.
HTTP_RESPONSE_INFO

Estende a estrutura HTTP_RESPONSE com informações adicionais para a resposta.
HTTP_RESPONSE_V1

Contém dados associados a uma resposta HTTP.
HTTP_RESPONSE_V2

Estende a estrutura de resposta HTTP versão 1.0 com mais informações para a resposta.
HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS

A estrutura HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS contém as informações de autenticação básica em um grupo de URL. Essa estrutura está contida na estrutura HTTP_SERVER_AUTHENTICATION_INFO.
HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS

Contém as informações para autenticação de resumo em um grupo de URLs.
HTTP_SERVER_AUTHENTICATION_INFO

Usado para habilitar a autenticação do lado do servidor em um grupo de URL ou sessão de servidor.
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

Usado no parâmetro pConfigInformation da função HttpSetServiceConfiguration.
HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM

Usado para especificar um endereço IP a ser adicionado ou excluído da lista de endereços IP aos quais o serviço HTTP é associado.
HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY

Usado por HttpQueryServiceConfiguration para retornar uma lista dos endereços IP (protocolo IP) aos quais o serviço HTTP é associado.
HTTP_SERVICE_CONFIG_SSL_CCS_KEY

Serve como a chave pela qual identifica o registro de certificado SSL que especifica que Http.sys deve consultar o repositório do Repositório de Certificados Centralizado (CCS) para localizar certificados se a porta receber um handshake TLS (Transport Layer Security).
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

Especifica uma configuração SSL (Secure Sockets Layer) para consultar um registro ccs (repositório de certificados centralizado) SSL na porta quando você chama a função HttpQueryServiceConfiguration.
HTTP_SERVICE_CONFIG_SSL_CCS_SET

Representa o registro de certificado SSL que especifica que Http.sys deve consultar o repositório ccs (repositório de certificados centralizado) para localizar certificados se a porta receber um handshake TLS (Transport Layer Security).
HTTP_SERVICE_CONFIG_SSL_KEY

Serve como a chave pela qual um determinado registro de certificado SSL (Secure Sockets Layer) é identificado.
HTTP_SERVICE_CONFIG_SSL_PARAM

Define um registro no repositório de configuração de SSL.
HTTP_SERVICE_CONFIG_SSL_QUERY

Usado para especificar um registro específico para consultar no repositório de configuração do SSL.
HTTP_SERVICE_CONFIG_SSL_SET

Usado para adicionar um novo registro ao repositório SSL ou recuperar um registro existente dele.
HTTP_SERVICE_CONFIG_SSL_SNI_KEY

Serve como a chave pela qual um determinado registro de certificado SNI (Indicação de Nome de Servidor) SSL (Secure Sockets Layer) é identificado no repositório SSL SNI.
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

Usado para especificar um registro de certificado SNI (Secure Sockets Layer) específico para consultar no repositório SNI do SSL.
HTTP_SERVICE_CONFIG_SSL_SNI_SET

Usado para adicionar um novo registro de certificado SNI (Secure Sockets Layer) À SNI (Secure Sockets Layer) ao repositório SSL SNI ou recuperar um registro existente dele.
HTTP_SERVICE_CONFIG_TIMEOUT_SET

Usado para definir o valor de tempo limite da API do Servidor HTTP.
HTTP_SERVICE_CONFIG_URLACL_KEY

Usado para especificar um registro de reserva específico no repositório de reserva de namespace de URL.
HTTP_SERVICE_CONFIG_URLACL_PARAM

Usado para especificar as permissões associadas a um registro específico no repositório de reserva de namespace de URL.
HTTP_SERVICE_CONFIG_URLACL_QUERY

Usado para especificar um registro de reserva específico para consultar no repositório de reserva de namespace de URL.
HTTP_SERVICE_CONFIG_URLACL_SET

Usado para adicionar um novo registro ao repositório de reserva de URL ou recuperar um registro existente dele.
HTTP_SSL_CLIENT_CERT_INFO

Contém dados sobre um certificado de cliente SSL (Secure Sockets Layer) que podem ser usados para determinar se o certificado é válido.
HTTP_SSL_INFO

Contém dados para uma conexão que usa SSL (Secure Sockets Layer), obtidos por meio do handshake SSL.
HTTP_STATE_INFO

Usado para habilitar ou desabilitar uma Sessão do Servidor ou um Grupo de URLs.
HTTP_TIMEOUT_LIMIT_INFO

Define os limites de tempo limite de conexão específicos do aplicativo.
HTTP_TRANSPORT_ADDRESS

Especifica os endereços (locais e remotos) usados para uma conexão HTTP específica.
HTTP_UNKNOWN_HEADER

Contém o nome e o valor de um cabeçalho em uma solicitação HTTP ou resposta cujo nome não aparece na enumeração.
HTTP_VERSION

Define uma versão do protocolo HTTP que uma solicitação requer ou uma resposta fornece.
HTTPAPI_VERSION

Define a versão da API do servidor HTTP.