Share via


HTTP Server API(HTTP 서버 API)

HTTP Server API 기술 개요입니다.

HTTP 서버 API를 개발하려면 다음 헤더가 필요합니다.

이 기술에 대한 프로그래밍 지침은 다음을 참조하세요.

열거형

 
HTTP_503_RESPONSE_VERBOSITY

HTTP_503_RESPONSE_VERBOSITY 열거형은 503, 서비스를 사용할 수 없음, 오류 응답에 대한 세부 정보 표시 수준을 정의합니다. 이 구조체는 요청 큐에서 HttpServer503ResponseProperty를 설정하거나 쿼리할 때 사용해야 합니다.
HTTP_AUTH_STATUS

요청의 인증 상태를 정의합니다.
HTTP_AUTHENTICATION_HARDENING_LEVELS

서버 강화 수준.
HTTP_CACHE_POLICY_TYPE

HTTP_CACHE_POLICY_TYPE 열거형 형식은 사용 가능한 캐시 정책을 정의합니다.
HTTP_DATA_CHUNK_TYPE

데이터 청크의 데이터 원본을 정의합니다.
HTTP_DELEGATE_REQUEST_PROPERTY_ID

대리자 요청에 대한 속성 정보를 설명합니다.
HTTP_ENABLED_STATE

요청 큐, 서버 세션 또는 URL 그룹의 상태를 정의합니다.
HTTP_FEATURE_ID

HTTP 기능에 대한 식별자를 지정하는 상수를 정의합니다.
HTTP_HEADER_ID

HTTP_HEADER_ID 열거형 형식은 HTTP 요청 및 응답에 대한 알려진 헤더를 나열하고 배열 인덱스를 각 헤더와 연결합니다.
HTTP_LOG_DATA_TYPE

로그 데이터의 형식을 식별합니다.
HTTP_LOGGING_ROLLOVER_TYPE

로그 파일 롤오버 형식을 정의합니다.
HTTP_LOGGING_TYPE

수행되는 로깅 유형을 정의합니다.
HTTP_QOS_SETTING_TYPE

HTTP_QOS_SETTING_INFO 구조에 포함된 QOS 설정의 유형을 식별합니다.
HTTP_REQUEST_AUTH_TYPE

HTTP_REQUEST_AUTH_TYPE 열거형은 HTTP Server API에서 지원하는 인증 유형을 정의합니다. 이 열거형은 HTTP_REQUEST_AUTH_INFO 구조체에서 사용됩니다.
HTTP_REQUEST_INFO_TYPE

HTTP_REQUEST_INFO_TYPE 열거형은 HTTP_REQUEST_INFO 구조에 포함된 정보의 형식을 정의합니다.
HTTP_REQUEST_PROPERTY

요청에 대해 HTTP 서버 API에 의해 구성된 속성을 정의합니다.
HTTP_REQUEST_TIMING_TYPE

정보가 HTTP_REQUEST_TIMING_INFO 반환될 가능한 요청 타이밍을 지정하는 상수를 정의합니다.
HTTP_RESPONSE_INFO_TYPE

HTTP_RESPONSE_INFO_TYPE 열거형은 HTTP_RESPONSE_INFO 구조에 포함된 정보의 형식을 정의합니다. 이 열거형은 HTTP_RESPONSE_INFO 구조체에서 사용됩니다.
HTTP_SERVER_PROPERTY

URL 그룹, 서버 세션 또는 요청 큐에서 HTTP 서버 API에 의해 구성된 속성을 정의합니다.
HTTP_SERVICE_BINDING_TYPE

HTTP_SERVICE_BINDING_TYPE 열거형 형식은 서비스 이름에 대한 문자열 형식을 지정합니다.
HTTP_SERVICE_CONFIG_CACHE_KEY

HttpSetServiceConfiguration 및 HttpQueryServiceConfiguration 함수에 사용됩니다.
HTTP_SERVICE_CONFIG_ID

서비스 구성 옵션을 정의합니다.
HTTP_SERVICE_CONFIG_QUERY_TYPE

HTTP_SERVICE_CONFIG_QUERY_TYPE 열거형 형식은 만들 쿼리의 다양한 형식을 정의합니다. HTTP_SERVICE_CONFIG_SSL_QUERY, HTTP_SERVICE_CONFIG_SSL_CCS_QUERY 및 HTTP_SERVICE_CONFIG_URLACL_QUERY 구조에 사용됩니다.
HTTP_SERVICE_CONFIG_TIMEOUT_KEY

HTTP_SERVICE_CONFIG_TIMEOUT_KEY 열거형은 HTTP_SERVICE_CONFIG_TIMEOUT_SET 구조를 통해 쿼리되거나 구성된 타이머 유형을 정의합니다.
HTTP_VERB

HTTP_VERB 열거형 형식은 HTTP_REQUEST 구조체에서 알려진 표준 HTTP 동사를 지정하는 데 사용되는 값을 정의합니다. 이러한 알려진 동사의 대부분은 아래 표시된 대로 RFC 2616 및 RFC 2518에 설명되어 있습니다.

Functions

 
HTTP_EQUAL_VERSION

HTTP_VERSION 구조체가 지정된 주/부 버전 조합과 같거나 0이 아니면 0이 아닌 값을 반환합니다.
HTTP_GREATER_EQUAL_VERSION

HTTP_GREATER_EQUAL_VERSION 매크로는 HTTP_VERSION 구조체가 지정된 주/부 버전 조합보다 크거나 같거나 0이 아니면 0이 아닌 값을 반환합니다.
HTTP_GREATER_VERSION

HTTP_VERSION 구조체가 지정된 주/부 버전 조합보다 크거나 그렇지 않으면 0이 아닌 값을 반환합니다.
HTTP_IS_NULL_ID

HTTP_OPAQUE_ID NULL인지 확인합니다.
HTTP_LESS_EQUAL_VERSION

HTTP_VERSION 구조체가 지정된 주/부 버전 조합보다 작거나 같거나 0이 아니면 0이 아닌 값을 반환합니다.
HTTP_LESS_VERSION

HTTP_VERSION 구조체가 지정된 주/부 버전 조합보다 작거나 그렇지 않으면 0이 아닌 값을 반환합니다.
HTTP_NOT_EQUAL_VERSION

HTTP_VERSION 구조체가 지정된 주/부 버전 조합보다 크거나 작거나 같은 경우 0이 아닌 값을 반환합니다.
HTTP_SET_NULL_ID

HTTP_SET_NULL_ID 매크로는 HTTP_OPAQUE_ID NULL로 설정합니다.
HTTP_SET_VERSION

지정된 HTTP_VERSION 구조를 지정된 주/부 버전 조합으로 설정합니다.
HttpAddFragmentToCache

HttpAddFragmentToCache 함수는 검색할 수 있는 지정된 이름의 데이터 조각을 캐시하거나 지정된 이름으로 캐시된 데이터를 업데이트합니다.
HttpAddUrl

지정된 URL과 일치하는 요청이 지정된 HTTP Server API 요청 큐로 라우팅되도록 등록합니다.
HttpAddUrlToUrlGroup

지정된 URL을 URL 그룹 ID로 식별된 URL 그룹에 추가합니다.
HTTPAPI_EQUAL_VERSION

HTTPAPI_VERSION 구조체가 지정된 주/부 버전 조합과 정확히 같거나 그렇지 않으면 0이 아닌 값을 반환합니다.
HTTPAPI_GREATER_VERSION

HTTPAPI_VERSION 구조체가 지정된 주/부 버전 조합보다 크거나 그렇지 않으면 0이 아닌 값을 반환합니다.
HTTPAPI_LESS_VERSION

HTTPAPI_VERSION 구조체가 지정된 주/부 버전 조합보다 작거나 그렇지 않으면 0이 아닌 값을 반환합니다.
HTTPAPI_VERSION_GREATER_OR_EQUAL

HTTPAPI_VERSION_GREATER_OR_EQUAL HTTPAPI_VERSION 구조체가 지정된 주/부 버전 조합보다 크거나 같거나 0이 아니면 0이 아닌 값을 반환합니다.
HttpCancelHttpRequest

HttpCancelHttpRequest 함수는 지정된 reqest를 취소합니다.
HttpCloseRequestQueue

HttpCreateRequestQueue에서 만든 지정된 요청 큐에 대한 핸들을 닫습니다.
HttpCloseServerSession

서버 세션 ID로 식별되는 서버 세션을 삭제합니다.
HttpCloseUrlGroup

URL 그룹 ID로 식별된 URL 그룹을 닫습니다.
HttpCreateHttpHandle

호출하는 애플리케이션에 대한 HTTP 요청 큐를 만들고 핸들을 반환합니다.
HttpCreateRequestQueue

새 요청 큐를 만들거나 기존 요청 큐를 엽니다.
HttpCreateServerSession

지정된 버전에 대한 서버 세션을 만듭니다.
HttpCreateUrlGroup

지정된 서버 세션 아래에 URL 그룹을 만듭니다.
HttpDeclarePush

HTTP 서버 푸시에 사용할 리소스-하위 리소스 관계를 선언합니다. 그런 다음 HTTP.sys 기본 프로토콜, 연결, 클라이언트 및 정책에서 푸시 작업을 허용하는 경우 지정된 리소스에 대해 HTTP 2.0 서버 푸시를 수행합니다.
HttpDelegateRequestEx

원본 요청 큐에서 대상 요청 큐로 요청을 위임합니다.
HttpDeleteServiceConfiguration

HTTP 서버 API 구성 저장소에서 IP 주소 또는 SSL 인증서와 같은 지정된 데이터를 한 번에 하나의 레코드로 삭제합니다.
HttpFindUrlGroupId

URL 및 요청 큐에 대한 URL 그룹 ID를 검색합니다.
HttpFlushResponseCache

지정된 요청 큐와 연결된 HTTP Server API 캐시에서 사이트 부분이 지정된 UrlPrefix와 일치하는 이름을 가진 모든 응답 조각을 제거합니다.
HttpInitialize

HttpInitialize 함수는 HTTP 서버 API 드라이버를 초기화하고, 아직 시작하지 않은 경우 시작하며, 응답 큐 만들기 및 기타 작업을 지원하기 위해 호출 애플리케이션에 대한 데이터 구조를 할당합니다.
HttpIsFeatureSupported

특정 기능이 지원되는지 여부를 확인합니다.
HttpPrepareUrl

다른 HTTP 함수에서 안전하게 사용할 수 있도록 정규화되지 않은 유니코드 또는 punycode URL을 구문 분석하고, 분석하고, 정규화합니다.
HttpQueryRequestQueueProperty

지정된 핸들로 식별된 요청 큐의 속성을 쿼리합니다.
HttpQueryServerSessionProperty

지정된 서버 세션에서 서버 속성을 쿼리합니다.
HttpQueryServiceConfiguration

하나 이상의 HTTP 서버 API 구성 레코드를 검색합니다.
HttpQueryUrlGroupProperty

지정된 URL 그룹의 속성을 쿼리합니다.
HttpReadFragmentFromCache

HttpReadFragmentFromCache 함수는 HTTP Server API 캐시에서 지정된 이름을 가진 응답 조각을 검색합니다.
HttpReceiveClientCertificate

HttpReceiveClientCertificate 함수는 서버 애플리케이션에서 클라이언트 SSL 인증서 또는 CBT(채널 바인딩 토큰)를 검색하는 데 사용됩니다.
HttpReceiveHttpRequest

지정된 요청 큐에서 동기적으로 또는 비동기적으로 사용 가능한 다음 HTTP 요청을 검색합니다.
HttpReceiveRequestEntityBody

지정된 HTTP 요청에 대한 추가 엔터티 본문 데이터를 받습니다.
HttpRemoveUrl

시스템이 지정된 UrlPrefix 문자열과 일치하는 요청을 지정된 요청 큐에 라우팅하는 것을 중지하도록 합니다.
HttpRemoveUrlFromUrlGroup

URL 그룹 ID로 식별된 그룹에서 지정된 URL을 제거합니다.
HttpSendHttpResponse

지정된 HTTP 요청에 HTTP 응답을 보냅니다.
HttpSendResponseEntityBody

HTTP 응답과 연결된 엔터티 본문 데이터를 보냅니다.
HttpSetRequestProperty

새 속성을 설정하거나 지정된 요청에서 기존 속성을 수정합니다.
HttpSetRequestQueueProperty

새 속성을 설정하거나 지정된 핸들로 식별된 요청 큐의 기존 속성을 수정합니다.
HttpSetServerSessionProperty

새 서버 세션 속성을 설정하거나 지정된 서버 세션에서 기존 속성을 수정합니다.
HttpSetServiceConfiguration

HTTP Server API 구성 저장소에 대한 구성 레코드를 만들고 설정합니다.
HttpSetUrlGroupProperty

새 속성을 설정하거나 지정된 URL 그룹의 기존 속성을 수정합니다.
HttpShutdownRequestQueue

지정된 요청 큐 프로세스에 대한 요청 큐 대기를 중지합니다.
HttpTerminate

HTTP Server API에서 애플리케이션의 호출을 처리하는 데 사용하는 리소스를 정리합니다.
HttpUpdateServiceConfiguration

업데이트 HTTP Server API 구성 저장소 내의 구성 레코드에서 TLS(전송 계층 보안) 인증서를 지정하는 서비스 구성 매개 변수입니다.
HttpWaitForDemandStart

새 요청 큐 프로세스에서 처리할 수 있는 새 요청이 도착할 때까지 기다립니다.
HttpWaitForDisconnect

어떤 이유로든 HTTP 클라이언트에 대한 연결이 끊어지면 애플리케이션에 알린다.
HttpWaitForDisconnectEx

이 함수는 HttpWaitForDisconnect에 대한 확장입니다.

구조체

 
HTTP_BANDWIDTH_LIMIT_INFO

HTTP_BANDWIDTH_LIMIT_INFO 구조체는 대역폭 제한 제한을 설정하거나 쿼리하는 데 사용됩니다. 이 구조체는 URL 그룹 또는 서버 세션에서 HttpServerBandwidthProperty를 설정하거나 쿼리할 때 사용해야 합니다.
HTTP_BINDING_INFO

URL 그룹을 요청 큐와 연결하는 데 사용됩니다.
HTTP_BYTE_RANGE

HTTP_BYTE_RANGE 구조체는 캐시된 응답 조각, 파일 또는 기타 데이터 블록 내에서 바이트 범위를 지정하는 데 사용됩니다.
HTTP_CACHE_POLICY

캐시된 응답 조각과 연결된 캐시 정책을 정의하는 데 사용됩니다.
HTTP_CHANNEL_BIND_INFO

HTTP_CHANNEL_BIND_INFO.
HTTP_CONNECTION_LIMIT_INFO

URL 그룹에 대한 최대 미해결 연결 수 제한을 설정하거나 쿼리하는 데 사용됩니다.
HTTP_COOKED_URL

유효성이 검사된 정식 UTF-16 유니코드로 인코딩된 URL 요청 문자열과 포인터 및 요소 길이를 포함합니다.
HTTP_DATA_CHUNK

메모리, 파일 또는 HTTP Server API 응답 조각 캐시의 개별 데이터 블록을 나타냅니다.
HTTP_DELEGATE_REQUEST_PROPERTY_INFO

요청을 위임할 때 추가 속성 정보를 설명합니다.
HTTP_FLOWRATE_INFO

응답의 전송 속도입니다.
HTTP_KNOWN_HEADER

HTTP 요청 또는 HTTP 응답의 알려진 헤더에 대한 헤더 값을 포함합니다.
HTTP_LISTEN_ENDPOINT_INFO

IP 기반 URL이 특정 IP 주소 또는 와일드카드에서 수신 대기해야 하는지 여부를 제어합니다.
HTTP_LOG_DATA

로그 데이터의 형식을 지정하는 값을 포함합니다.
HTTP_LOG_FIELDS_DATA

WC3 로깅을 사용할 때 HTTP 응답에 대해 기록되는 필드를 전달하는 데 사용됩니다.
HTTP_LOGGING_INFO

URL 그룹 또는 서버 세션에서 서버 쪽 로깅을 사용하도록 설정하는 데 사용됩니다.
HTTP_MULTIPLE_KNOWN_HEADERS

둘 이상의 헤더가 필요한 경우 HTTP 응답에 포함된 헤더를 지정합니다.
HTTP_PROPERTY_FLAGS

속성 구성 구조에서 속성 구성을 설정할 때 구성 개체에서 속성을 사용하거나 사용하지 않도록 설정하는 데 사용됩니다.
HTTP_QOS_SETTING_INFO

QOS 설정에 대한 정보를 포함합니다.
HTTP_REQUEST_AUTH_INFO

수신 프로세스가 인증된 클라이언트를 가장하는 데 사용할 수 있는 클라이언트 토큰에 대한 핸들이 있는 요청의 인증 상태 포함합니다.
HTTP_REQUEST_CHANNEL_BIND_STATUS

HTTP_REQUEST_CHANNEL_BIND_STATUS.
HTTP_REQUEST_HEADERS

HTTP 요청과 함께 전송된 헤더를 포함합니다.
HTTP_REQUEST_INFO

요청에 대한 추가 정보를 사용하여 HTTP_REQUEST 구조를 확장합니다.
HTTP_REQUEST_PROPERTY_STREAM_ERROR

HTTP_REQUEST_PROPERTY_STREAM_ERROR 구조체는 HTTP/2 또는 HTTP/3 스트림 오류 코드를 나타냅니다.
HTTP_REQUEST_TIMING_INFO

각 요청 처리 단계에서 소요된 시간에 대한 정보를 포함합니다.
HTTP_REQUEST_V1

HTTP_REQUEST 구조를 사용하여 특정 요청과 연결된 데이터를 반환합니다.
HTTP_REQUEST_V2

요청에 대한 자세한 정보를 사용하여 HTTP_REQUEST_V1 요청 구조를 확장합니다.
HTTP_RESPONSE_HEADERS

HTTP 응답과 함께 전송된 헤더를 포함합니다.
HTTP_RESPONSE_INFO

응답에 대한 추가 정보를 사용하여 HTTP_RESPONSE 구조를 확장합니다.
HTTP_RESPONSE_V1

HTTP 응답과 연결된 데이터를 포함합니다.
HTTP_RESPONSE_V2

응답에 대한 자세한 정보를 사용하여 HTTP 버전 1.0 응답 구조를 확장합니다.
HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS

HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS 구조에는 URL 그룹의 기본 인증에 대한 정보가 포함되어 있습니다. 이 구조체는 HTTP_SERVER_AUTHENTICATION_INFO 구조에 포함되어 있습니다.
HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS

URL 그룹의 다이제스트 인증에 대한 정보를 포함합니다.
HTTP_SERVER_AUTHENTICATION_INFO

URL 그룹 또는 서버 세션에서 서버 쪽 인증을 사용하도록 설정하는 데 사용됩니다.
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

HttpSetServiceConfiguration 함수의 pConfigInformation 매개 변수에 사용됩니다.
HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM

HTTP 서비스가 바인딩하는 IP 주소 목록에서 추가하거나 삭제할 IP 주소를 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY

HttpQueryServiceConfiguration에서 HTTP 서비스가 바인딩하는 IP(인터넷 프로토콜) 주소 목록을 반환하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_SSL_CCS_KEY

포트가 TLS(전송 계층 보안) 핸드셰이크를 수신하는 경우 인증서를 찾기 위해 CCS(중앙 집중식 인증서 저장소) 저장소에 문의해야 Http.sys 지정하는 SSL 인증서 레코드를 식별하는 키 역할을 합니다.
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

HttpQueryServiceConfiguration 함수를 호출할 때 포트에서 SSL CCS(Centralized Certificate Store) 레코드를 쿼리할 SSL(Secure Sockets Layer) 구성을 지정합니다.
HTTP_SERVICE_CONFIG_SSL_CCS_SET

포트가 TLS(전송 계층 보안) 핸드셰이크를 수신하는 경우 인증서를 찾으려면 CCS(중앙 인증서 저장소) 저장소에 문의해야 Http.sys 지정하는 SSL 인증서 레코드를 나타냅니다.
HTTP_SERVICE_CONFIG_SSL_KEY

지정된 SSL(Secure Sockets Layer) 인증서 레코드가 식별되는 키 역할을 합니다.
HTTP_SERVICE_CONFIG_SSL_PARAM

SSL 구성 저장소에서 레코드를 정의합니다.
HTTP_SERVICE_CONFIG_SSL_QUERY

SSL 구성 저장소에서 쿼리할 특정 레코드를 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_SSL_SET

SSL 저장소에 새 레코드를 추가하거나 기존 레코드를 검색하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_SSL_SNI_KEY

SSL SNI 저장소에서 지정된 SSL(Secure Sockets Layer) SNI(서버 이름 표시) 인증서 레코드가 식별되는 키 역할을 합니다.
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

SSL SNI 저장소에서 쿼리할 특정 SSL(Secure Sockets Layer) SNI(서버 이름 표시) 인증서 레코드를 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_SSL_SNI_SET

새 SSL(Secure Sockets Layer) SNI(서버 이름 표시) 인증서 레코드를 SSL SNI 저장소에 추가하거나 기존 레코드를 검색하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_TIMEOUT_SET

HTTP Server API 와이드 제한 시간 값을 설정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_URLACL_KEY

URL 네임스페이스 예약 저장소에서 특정 예약 레코드를 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_URLACL_PARAM

URL 네임스페이스 예약 저장소의 특정 레코드와 연결된 권한을 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_URLACL_QUERY

URL 네임스페이스 예약 저장소에서 쿼리할 특정 예약 레코드를 지정하는 데 사용됩니다.
HTTP_SERVICE_CONFIG_URLACL_SET

URL 예약 저장소에 새 레코드를 추가하거나 기존 레코드를 검색하는 데 사용됩니다.
HTTP_SSL_CLIENT_CERT_INFO

인증서가 유효한지 여부를 확인하는 데 사용할 수 있는 SSL(Secure Sockets Layer) 클라이언트 인증서에 대한 데이터를 포함합니다.
HTTP_SSL_INFO

SSL 핸드셰이크를 통해 얻은 SSL(Secure Sockets Layer)을 사용하는 연결에 대한 데이터를 포함합니다.
HTTP_STATE_INFO

서버 세션 또는 URL 그룹을 사용하거나 사용하지 않도록 설정하는 데 사용됩니다.
HTTP_TIMEOUT_LIMIT_INFO

애플리케이션별 연결 제한 시간 제한을 정의합니다.
HTTP_TRANSPORT_ADDRESS

특정 HTTP 연결에 사용되는 주소(로컬 및 원격)를 지정합니다.
HTTP_UNKNOWN_HEADER

이름이 열거형에 표시되지 않는 HTTP 요청 또는 응답에서 헤더의 이름과 값을 포함합니다.
HTTP_VERSION

요청에 필요하거나 응답이 제공하는 HTTP 프로토콜 버전을 정의합니다.
HTTPAPI_VERSION

HTTP Server API의 버전을 정의합니다.