| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
- 작업관리자
- 클러스터
- Nested VM
- paged pool
- Hyper-V
- SQL Server 2012R2 FCI
- 인문고전
- FTP7.5
- windows media service
- Session space
- windbg
- 안철수
- MSCS on VMWare
- Local TempDB
- Windows Server 2016
- dsquery
- Windows Server 2008
- Xperf
- LiveKD
- cluster node as Domain controller
- 터키여행
- iSCSI target
- ftp7.5 장애조치 클러스터
- Windows Server 2016 Hyper-v Cluster
- SQL Server 2008
- windows update
- 프로세스 CPU 사용량
- failover cluster
- windows debugging tool
- nonpaged pool
- Today
- Total
류짱:Beyond MySelf
HTTP API의 오류 로깅 본문
HTTP API가 기록하는 오류 유형
로그 위치: C:\WINDOWS\system32\LogFiles\HTTPERR 폴더에서 htterr.log
 
#Version: 1.0
#Date: 2011-03-21 06:24:43
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename
2011-03-21 06:24:43 192.168.1.50 1036 192.168.1.50 80 HTTP/1.1 GET / 503 1 ConnLimit DefaultAppPool
2011-04-08 07:03:23 127.0.0.1 1054 127.0.0.1 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:05:30 192.168.1.50 1059 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:06:05 192.168.1.50 1060 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:07:12 192.168.1.50 1063 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
HTTP API는 잘못 처리된 클라이언트에 대한 오류 응답, 연결 시간 초과, 고아 요청 및 삭제된 연결을 기록합니다.
아래의 목록은 HTTP API가 기록하는 오류 유형을 나타냅니다.
·         클라이언트에 대한 응답 HTTP API는 클라이언트에 대한 오류 응답(예: 마지막으로 받은 요청에서 구문 분석 오류로 인해 발생한 400 오류)을 보냅니다. HTTP API는 오류 응답을 보낸 후 연결을 종료합니다.
·         연결 시간 초과 HTTP API가 연결 시간을 초과합니다. 연결 시간이 초과될 때까지도 요청이 계속 보류 중이면 이 요청은 오류 로그에서 연결에 대한 자세한 정보를 제공하는 데 사용됩니다.
·         고아 요청 대기열에 사용자 모드 프로세스로 라우팅되는 요청이 아직 남아 있을 때 프로세스가 예기치 않게 종료됩니다. HTTP API는 오류 로그에 고아 요청을 기록합니다.
특정 오류 형식은 항상 각 오류 행의 마지막 필드로 나타나는 원인 문구 문자열에서 지정됩니다. 아래의 표는 HTTP API 원인 문구를 나타냅니다.
| 원인 문구 | 설명 | 
| AppOffline | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 오류로 인해 응용 프로그램이 오프라인 상태가 되었기 때문에 서비스를 사용할 수 없습니다. | 
| AppPoolTimer | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 풀 프로세스가 사용 중이어서 요청을 처리할 수 없기 때문에 서비스를 사용할 수 없습니다. | 
| AppShutdown | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램이 관리자 정책에 대한 응답으로 자동으로 종료되기 때문에 서비스를 사용할 수 없습니다. | 
| BadRequest | 요청을 처리하는 동안 구문 분석 오류가 발생했습니다. | 
| Client_Reset | 요청이 작업자 프로세서에 할당되기 전에 클라이언트와 서버 간 연결이 닫혔습니다. 이 동작의 가장 일반적인 원인은 클라이언트가 서버와의 연결을 미리 닫는 것입니다. | 
| Connection_Abandoned_By_AppPool | 응용 프로그램 풀의 작업자 프로세스가 핸들을 닫아서 보류 중인 요청의 연결을 끊거나 예기치 않게 종료되었습니다. | 
| Connection_Abandoned_By_ReqQueue | 응용 프로그램 풀의 작업자 프로세스가 핸들을 닫아서 보류 중인 요청의 연결을 끊거나 예기치 않게 종료되었습니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. | 
| Connection_Dropped | 서버가 최종 응답 패킷을 전송하기 전에 클라이언트와 서버 간 연결이 닫혔습니다. 이 동작의 가장 일반적인 원인은 클라이언트가 서버와의 연결을 미리 닫는 것입니다. | 
| Connection_Dropped_List_Full | 클라이언트와 서버 간의 삭제된 연결 목록이 꽉 찼습니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. | 
| ConnLimit | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 사이트 수준 연결 한계에 도달했거나 초과했기 때문에 서비스를 사용할 수 없습니다. | 
| Connections_Refused | 커널 NonPagedPool 메모리가 20MB 아래로 떨어지고 http.sys가 새 연결 수신을 중단했습니다. | 
| 사용 안 함 | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 관리자가 응용 프로그램을 오프라인 상태로 만들었기 때문에서 서비스를 사용할 수 없습니다. | 
| EntityTooLarge | 엔터티가 허용된 최대 크기를 초과했습니다. | 
| FieldLength | 필드 길이 한계를 초과했습니다. | 
| Forbidden | 구문 분석 동안 금지된 요소나 시퀀스가 발생했습니다. | 
| 머리글 | 머리글에서 구문 분석 오류가 발생했습니다. | 
| Hostname | 호스트 이름을 처리하는 동안 구문 분석 오류가 발생했습니다. | 
| 내부 | 내부 서버 오류가 발생했습니다(HTTP 오류 500). | 
| Invalid_CR/LF | 잘못된 캐리지 리턴이나 줄 바꿈이 발생했습니다. | 
| LengthRequired | 필수 길이 값이 없습니다. | 
| N/A | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 메모리 할당 실패 같은 내부 오류가 발생했기 때문에 서비스를 사용할 수 없습니다. | 
| N/I | 알 수 없는 전송 인코딩으로 인해 "구현되지 않음" 오류가 발생했거나(HTTP 오류 501), "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). | 
| 숫자 | 숫자를 처리하는 동안 구문 분석 오류가 발생했습니다. | 
| Precondition | 필수 전제 조건이 없습니다. | 
| QueueFull | "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 요청 대기열이 꽉 찼기 때문에 서비스를 사용할 수 없습니다. | 
| RequestLength | 요청 길이 한계를 초과했습니다. | 
| Timer_AppPool | 서버 응용 프로그램이 대기열에서 가져와 요청을 처리할 때까지 요청이 응용 프로그램 풀 대기열에서 너무 오랫 동안 대기했기 때문에 연결이 만료되었습니다. 이 제한 시간은 ConnectionTimeout입니다. 기본적으로 이 값은 2분으로 설정됩니다. | 
| Timer_ConnectionIdle | 연결이 만료되어 계속 유휴 상태로 있습니다. 기본 ConnectionTimeout시간은 2분입니다. | 
| Timer_EntityBody | 요청 엔터티 본문이 도착하기 전에 연결이 만료되었습니다. 요청에 엔터티 본문이 있는 경우 HTTP API는 Timer_EntityBody 타이머를 켭니다. 처음에는 이 타이머의 제한이 ConnectionTimeout 값(보통 2분)으로 설정됩니다. 이 요청에서 다른 데이터 표시가 수신될 때마다 HTTP API는 타이머를 재설정하여 연결에 추가적인 2분(또는 ConnectionTimeout에 지정된 시간)을 더 제공합니다. | 
| Timer_HeaderWait | 요청에 대한 머리글 구문 분석을 수행하는 데 기본 제한인 2분보다 많이 소요되었기 때문에 연결이 만료되었습니다. | 
| Timer_MinBytesPerSecond | 클라이언트가 적절한 속도로 응답을 받지 못했기 때문에 연결이 만료되었습니다. 응답 전송 속도가 기본값인 초당 240바이트보다 느려졌습니다. 이 속도는 MinFileBytesPerSec 메타베이스 속성으로 제어할 수 있습니다. | 
| Timer_ReqQueue | 서버 응용 프로그램이 대기열에서 요청을 가져올 때까지 요청이 응용 프로그램 풀 대기열에서 너무 오랫 동안 대기했기 때문에 연결이 만료되었습니다. 이 제한 시간은 ConnectionTimeout입니다. 기본적으로 이 값은 2분으로 설정됩니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. | 
| Timer_Response | 예약됨. 현재 사용되고 있지 않습니다. | 
| URL | URL을 처리하는 동안 구문 분석 오류가 발생했습니다. | 
| URL_Length | URL이 허용되는 최대 크기를 초과했습니다. | 
| Verb | 동사를 처리하는 동안 구문 분석 오류가 발생했습니다. | 
| Version_N/S | 지원되지 않는 버전 오류가 발생했습니다(HTTP 오류 505). | 
[참고 자료]
BUG: WriteClient API를 사용하여 데이터를 보낼 때 IIS 6.0이 IIS 5.0보다 느리다 
http://support.microsoft.com/kb/840875/ko
Troubleshooting HTTP 401 errors in IIS
http://support.microsoft.com/kb/907273/en-us
Select W3C Fields to Log (IIS 7)
http://technet.microsoft.com/en-us/library/cc754702(WS.10).aspx
The HTTP status codes in IIS 7.0 and in IIS 7.5
http://support.microsoft.com/kb/943891/en-us
Additional properties are now available for logging in the Httperr#.log file in IIS 6.0 and IIS 7.0
http://support.microsoft.com/kb/832975/en-us 
감사합니다.^^