HTTP Server API에서 기록된 오류 유형
HTTP Server API는 잘못 처리된 클라이언트, 연결 시간 제한, 분리된 요청 및 삭제된 연결에 대한 오류 응답을 기록합니다.
다음 표에서는 HTTP에서 기록된 오류를 나열합니다.
오류 | 설명 |
---|---|
"클라이언트에 대한 응답" |
HTTP Server API는 클라이언트에 오류 응답을 보냅니다(예: 마지막으로 받은 요청의 구문 분석 오류로 인한 400 오류). 오류 응답을 보낸 후 HTTP 서버 API는 연결을 종료합니다. |
"연결 시간 제한" |
HTTP 서버 API는 연결 시간을 초과합니다. 연결 시간이 초과되면 요청이 보류 중인 경우 오류 로그의 연결에 대한 자세한 정보를 제공하는 데 사용됩니다. |
"분리된 요청" |
사용자 모드 프로세스는 해당 프로세스로 라우팅되는 큐에 대기 중인 요청이 여전히 있는 동안 예기치 않게 종료됩니다. HTTP Server API는 분리된 요청을 오류 로그에 기록합니다. |
특정 오류 유형은 항상 각 오류 줄의 마지막 필드로 표시되는 Reason Phrase 문자열로 지정됩니다. 다음 표에서는 HTTP 이유 구를 나열합니다.
이유 구 | Description |
---|---|
AppOffline |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 애플리케이션 오류로 인해 애플리케이션이 오프라인 상태가 되었기 때문에 서비스를 사용할 수 없습니다. |
AppPoolTimer |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 애플리케이션 풀 프로세스가 너무 바빠서 요청을 처리할 수 없으므로 서비스를 사용할 수 없습니다. |
AppShutdown |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 관리자 정책에 따라 애플리케이션이 자동으로 종료되므로 서비스를 사용할 수 없습니다. |
BadRequest |
요청을 처리하는 동안 구문 분석 오류가 발생했습니다. |
Connection_Abandoned_By_AppPool |
핸들을 닫아 보류 중인 요청을 중단하거나 분리한 애플리케이션 풀의 작업자 프로세스입니다. |
Connection_Dropped |
IIS는 응답이 기록되기 전에 클라이언트 연결 끊기(또는 다시 설정)로 인해 지정된 시간 제한(1분) 내에 로깅 데이터를 반환하지 못했습니다. 요청이 반드시 삭제된 것은 아닙니다. 클라이언트가 이미 응답을 받았을 수 있습니다. |
ConnLimit |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 사이트 수준 연결 제한에 도달했거나 초과했기 때문에 서비스를 사용할 수 없습니다. |
비활성화 |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 관리자가 애플리케이션을 오프라인으로 전환했기 때문에 서비스를 사용할 수 없습니다. |
EntityTooLarge |
엔터티가 허용되는 최대 크기를 초과했습니다. |
FieldLength |
필드 길이 제한을 초과했습니다. |
금지 |
구문 분석하는 동안 사용할 수 없는 요소 또는 시퀀스가 발견되었습니다. |
헤더 |
헤더에서 구문 분석 오류가 발생했습니다. |
호스트 |
호스트 이름을 처리하는 동안 구문 분석 오류가 발생했습니다. |
내부 |
내부 서버 오류가 발생했습니다(HTTP 오류 500). |
Invalid_CR/LF |
잘못된 캐리지 리턴/라인 피드가 발견되었습니다. |
LengthRequired |
필요한 길이 값이 없습니다. |
해당(N/A) |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 메모리 할당 오류와 같은 내부 오류로 인해 서비스를 사용할 수 없습니다. |
해당(N/I) |
구현되지 않은 오류(HTTP 오류 501)가 발생했거나 알 수 없는 전송 인코딩으로 인해 서비스를 사용할 수 없는 오류(HTTP 오류 503)가 발생했습니다. |
Number |
숫자를 처리하는 동안 구문 분석 오류가 발생했습니다. |
전제 조건 |
필수 전제 조건이 누락되었습니다. |
QueueFull |
서비스를 사용할 수 없음 오류가 발생했습니다(HTTP 오류 503). 애플리케이션 요청 큐가 가득 찼기 때문에 서비스를 사용할 수 없습니다. |
RequestLength |
요청 길이 제한을 초과했습니다. |
Timer_AppPool |
요청이 애플리케이션 풀 큐에서 너무 오래 대기하여 서버 애플리케이션이 큐에서 제거하고 처리하기 때문에 연결이 만료되었습니다. 이 시간 제한 기간은 ConnectionTimeout이며 기본적으로 2분으로 설정됩니다. |
Timer_ConnectionIdle |
연결이 만료되어 유휴 상태로 유지됩니다. 기본 ConnectionTimeout 기간은 2분입니다. |
Timer_EntityBody |
요청 엔터티 본문이 도착하기 전에 연결이 만료되었습니다. 요청에 엔터티 본문이 있는 것이 분명하면 HTTP 서버 API는 Timer_EntityBody 타이머를 켭니다. 이 타이머의 제한은 처음에 ConnectionTimeout 값(일반적으로 2분)으로 설정됩니다. 이 요청에 대해 다른 데이터 표시가 수신될 때마다 HTTP Server API는 타이머를 다시 설정하여 연결에 추가 2분(또는 ConnectionTimeout에 지정된 모든 항목)을 제공합니다. |
Timer_HeaderWait |
요청에 대한 헤더 구문 분석이 기본 제한인 2분보다 더 많은 시간이 걸렸기 때문에 연결이 만료되었습니다. |
Timer_MinBytesPerSecond |
클라이언트가 적절한 속도로 응답을 받지 못해 연결이 만료되었습니다. 즉, 응답 전송 속도가 기본값인 150바이트/초보다 느렸습니다. |
Timer_Response |
예약되어 있습니다. 사용되지 않습니다. |
Url |
URL을 처리하는 동안 구문 분석 오류가 발생했습니다. |
URL_Length |
URL이 허용되는 최대 크기를 초과했습니다. |
Verb |
동사를 처리하는 동안 구문 분석 오류가 발생했습니다. |
Version_N/S |
지원되지 않는 버전 오류가 발생했습니다(HTTP 오류 505). |