HttpDeclarePush 함수(http.h)
HTTP 서버 푸시에 사용할 리소스-하위 리소스 관계를 선언합니다. 그런 다음 HTTP.sys 기본 프로토콜, 연결, 클라이언트 및 정책이 푸시 작업을 허용하는 경우 지정된 리소스에 대해 HTTP 2.0 서버 푸시를 수행합니다.
구문
HTTPAPI_LINKAGE ULONG HttpDeclarePush(
[in] HANDLE RequestQueueHandle,
[in] HTTP_REQUEST_ID RequestId,
[in] HTTP_VERB Verb,
[in] PCWSTR Path,
[in, optional] PCSTR Query,
[in, optional] PHTTP_REQUEST_HEADERS Headers
);
매개 변수
[in] RequestQueueHandle
HttpCreateRequestQueue 함수가 반환한 HTTP.sys 요청 큐에 대한 핸들입니다.
[in] RequestId
푸시 작업을 선언하는 요청의 불투명 식별자입니다. 요청은 지정된 큐 핸들에서 온 것이어야 합니다.
[in] Verb
푸시 작업에 사용할 HTTP 동사입니다. HTTP.sys 푸시 작업은 HttpVerbGET 및 HttpVerbHEAD만 지원합니다.
[in] Path
푸시되는 리소스에 대한 URL의 경로 부분입니다.
[in, optional] Query
푸시되는 리소스에 대한 URL의 쿼리 부분입니다. 이 문자열에는 선행 물음표(?)가 포함되어서는 안 됩니다.
[in, optional] Headers
푸시 작업에 대한 요청 헤더입니다.
HTTP.sys 올바른 호스트 정보를 자동으로 생성하므로 호스트 헤더를 제공하지 않아야 합니다. HTTP.sys 원본 간 푸시 작업을 지원하지 않으므로 HTTP.sys 원래 클라이언트 시작 요청과 일치하는 호스트 정보를 적용하고 생성합니다.
푸시 요청에 엔터티 본문이 있을 수 없으므로 0이 아닌 Content-Length 헤더 또는 Transfer-Encoding 헤더를 포함할 수 없습니다.
반환 값
함수가 성공하면 NO_ERROR 반환합니다.
함수가 실패하면 WinError.h에 정의된 시스템 오류 코드를 반환합니다.
설명
클라이언트가 하위 리소스 자체를 검색하도록 하는 응답 바이트를 보내기 전에 HttpDeclarePush 를 호출해야 합니다. 이 순서를 관찰하지 못하면 리소스를 푸시하는 서버와 리소스를 검색하는 클라이언트 간의 경합이 발생하며 대역폭을 낭비할 수 있습니다. 서버 애플리케이션은 HttpDeclarePush 만 사용하여 서버 애플리케이션이 필요하고 클라이언트에서 아직 캐시하지 않은 리소스를 푸시해야 합니다. 서버 애플리케이션이 다른 리소스를 푸시하는 경우 대역폭 및 CPU를 불필요하게 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2016 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | http.h |
라이브러리 | Httpapi.lib |
DLL | Httpapi.dll |