웹 서버에는 액세스 로그와 오류 로그가 있다. 액세스 로그(Acess Log)는 문자 그대로 액세스 했을 때 기록된 로그 정보이다. 물론 요청받은 페이지를 정상(HTTP 상태 코드로 OK(200))으로 응답했을 때도 액세스 로그에 출력되지만, HTTP 상태 코드로 Not Found(404)와 같은 대표적인 오류 상태를 회신했을 때도 출력된다. 예를 들어 404라면 ‘XXX 페이지를 요청받아 404를 회신했다’와 같은 로그 정보를 출력한다. 단, 웹 서버에서 요청받은 페이지를 찾지 못한 원인은 담고 있지 않다.
오류 로그(Error Log)는 404를 비롯한 대표적인 HTTP 오류 상태를 응답했다는 로그 정보가 아니라, 웹 서버에서 뭔가 오류가 발생한 경우에 출력된다. 예를 들어 404(Not Found)를 응답한 로그 정보는 앞서 설명한 대로 액세스 로그에 출력된다.
정적인 페이지라면 오류 로그에 파일이 존재하지 않는다는 오류 정보가 출력된다. 동적인 페이지라면 오류 원인이 프로그램 오류일 수도 있지만, 블로그 도구로 유명한 워드프레스(WordPress)를 포함한 일반적인 CMS인 경우 요청된 페이지 정보가 데이터베이스에 없는 것일 뿐이므로 아무것도 출력되지 않는다.
상태 코드 | 개요 | 상태 코드 | 개요 |
---|---|---|---|
100 | 계속 : Continue | 404 | 찾을 수 없음 : Not Found |
101 | 프로토콜 전환 : Switching Protocols | 405 | 허용되지 않은 방법 : Method Not Allowed |
200 | 성공 : OK | 406 | 허용되지 않음 : Not Acceplable |
201 | 작성됨 : Created | 407 | 프록시 인증 필요 : Proxy Authentication Required |
202 | 허용됨 : Accepted | 408 | 요청 시간 초과 : Request Time-out |
203 | 신뢰할 수 없는 정보 : | ||
Non-Authoritative Information | 209 | 충돌 : Confict | |
204 | 내용 없음 : No Content | 410 | 사라짐 : Gone |
205 | 내용 재설정 : Reset Content | 411 | 길이 필요 : Length Required |
206 | 일부 내용 : Partial Content | 412 | 시간 조건 실패 : Precondition Failed |
300 | 여러 선택 항목 : Multiple Choices | 413 | 요청 속성이 너무 큼 : Request Entity Too Large |
301 | 영구 이동 : Moved Permanently | 414 | 요청 URI가 너무 김 : Request-URI Too Large |
302 | 발견함 : Found | 415 | 지원되지 않는 미디어 유형 : Unsupported Media Type |
303 | 기타 위치 보기 : See Other | 416 | 처리할 수 없는 요청 범위 : Requested range not satisfiable |
304 | 수정되지 않음 : Not Modified | 417 | 예상 실패 : Expectation Faild |
305 | 프록시 사용 : Use Proxty | 500 | 내부 서버 오류 : Internal Server Error |
307 | 임시 리다이렉션 : Temporary Redirect | 501 | 구현되지 않음 : Not Implemented |
400 | 잘못된 요청 : Bad Request | 502 | 불량 게이트웨이 : Bad Gateway |
401 | 권한 없음 : Unauthorized | 503 | 서비스 이용 불가 : Service Unavailable |
402 | 지불 필요 : Payment Required | 504 | 게이트웨이 시간 초과 : Gateway Time-out |
403 | 금지됨 : Forbidden | 505 | 지원되지 않는 HTTP 버전 : HTTP Version not supported |