HTTP_TIMEOUT_LIMIT_INFO 구조체(http.h)
HTTP_TIMEOUT_LIMIT_INFO 구조는 애플리케이션별 연결 제한 시간을 정의합니다.
이 구조는 URL 그룹, 서버 세션 또는 요청 큐에서 HttpServerTimeoutsProperty 를 설정하거나 쿼리할 때 사용해야 합니다.
구문
typedef struct _HTTP_TIMEOUT_LIMIT_INFO {
HTTP_PROPERTY_FLAGS Flags;
USHORT EntityBody;
USHORT DrainEntityBody;
USHORT RequestQueue;
USHORT IdleConnection;
USHORT HeaderWait;
ULONG MinSendRate;
} HTTP_TIMEOUT_LIMIT_INFO, *PHTTP_TIMEOUT_LIMIT_INFO;
멤버
Flags
속성이 있는지 여부를 지정하는 HTTP_PROPERTY_FLAGS 구조체입니다.
EntityBody
요청 엔터티 본문이 도착할 때까지 허용된 시간(초)입니다.
요청에 엔터티 본문이 있으면 HTTP Server API가 이 타이머를 켭니다. 타이머 만료는 처음에 구성 된 값으로 설정 됩니다. HTTP 서버 API는 요청에 대한 추가 데이터 표시를 받으면 타이머를 다시 설정하여 연결에 다른 간격을 부여합니다.
DrainEntityBody
HTTP 서버 API가 Keep-Alive 연결에서 엔터티 본문을 드레이닝하는 데 허용되는 시간(초)입니다.
Keep-Alive 연결에서 애플리케이션이 요청에 대한 응답을 보낸 후 요청 엔터티 본문이 완전히 도착하기 전에 HTTP Server API는 클라이언트에서 파이프라인된 다른 요청에 도달하기 위해 엔터티 본문의 나머지 부분을 드레이닝하기 시작합니다. 에 나머지 엔터티 본문을 비우는 데 허용 되는 기간을 초과 하는 경우 연결 시간이 초과 됩니다.
RequestQueue
애플리케이션이 요청을 선택하기 전에 요청 큐에 남아 있는 데 허용되는 시간(초)입니다.
IdleConnection
유휴 연결에 허용된 시간(초)입니다.
이 시간 제한은 연결에 대한 첫 번째 요청이 애플리케이션으로 라우팅된 후에만 적용됩니다. 자세한 내용은 주의 섹션을 참조하세요.
HeaderWait
HTTP 서버 API가 요청 헤더를 구문 분석하는 데 허용되는 시간(초)입니다.
이 시간 제한은 연결에 대한 첫 번째 요청이 애플리케이션으로 라우팅된 후에만 적용됩니다. 자세한 내용은 주의 섹션을 참조하세요.
MinSendRate
응답의 최소 전송 속도(초당 바이트)입니다. 기본 응답 전송 속도는 초당 150바이트입니다.
이 타이머를 사용하지 않도록 설정하려면 MinSendRate 를 MAXULONG으로 설정합니다.
설명
이 구조체는 HttpQueryServerSessionProperty 및 HttpSetServerSessionProperty 함수에서 연결 시간 제한을 설정하거나 쿼리하는 데 사용됩니다. 다음 표에서는 기본 시간 제한을 나열합니다.
타이머 | HTTP 서버 API 기본값 | HTTP 서버 API 전체 구성 | 애플리케이션별 구성 |
---|---|---|---|
EntityBody | 2분 | 아니요 | 예 |
DrainEntityBody | 2분 | 아니요 | 예 |
RequestQueue | 2분 | 아니요 | 예 |
IdleConnection | 2분 | Yes | 제한됨 |
HeaderWait | 2분 | Yes | 제한됨 |
MinSendRate | 150바이트/초 | 예 | 예 |
HttpSetServerSessionProperty 또는 HttpSetUrlGroupProperty를 호출하여 연결 시간 제한을 구성하면 호출 애플리케이션에만 영향을 줍니다. 드라이버 전체 시간 제한은 설정되지 않습니다. HttpSetServiceConfiguration을 호출하여 모든 HTTP 애플리케이션에 대해 유휴 연결 및 헤더 대기 타이머를 구성할 수 있습니다. HTTP Server API 전체 시간 제한을 구성하려면 관리 권한이 필요합니다. HTTP 서버 API 전체 구성은 컴퓨터의 모든 HTTP 애플리케이션에 영향을 미치며 컴퓨터가 종료되면 유지됩니다.
애플리케이션별 IdleConnection 및 HeaderWait 타이머는 제한적으로 설정됩니다. HTTP 서버 API는 헤더가 구문 분석될 때까지 요청이 연결된 요청 큐 또는 URL 그룹을 확인할 수 없습니다. 따라서 HTTP 서버 API는 연결의 첫 번째 요청에 대해 기본 IdleConnection 및 HeaderWait 타이머를 적용합니다. Keep-Alive 연결에 대한 후속 요청은 애플리케이션별 시간 제한을 사용합니다.
서버 세션에 시간 제한을 설정하면 서버 세션 아래의 모든 URL 그룹에 영향을 줍니다. 그러나 URL 그룹이 시간 제한을 구성한 경우 URL 그룹에 대한 설정이 서버 세션 구성보다 우선합니다.
서버 세션에서 시간 제한을 0으로 설정하면 HTTP 서버 API가 해당 타이머의 기본값으로 되돌리기. URL 그룹에 설정된 타이머의 경우 서버 세션 시간 제한이 있는 경우 사용되며, 그렇지 않으면 HTTP 서버 API 기본값이 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
머리글 | http.h |