HTTP Server API(HTTP 서버 API)
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의 버전을 정의합니다. |