
563
21
장 로깅과 사용 추적
The Definitive Guide
21
장
HTTP: The Definitive Guide
로깅과 사용 추적
거의 모든 서버와 프락시는 처리했던 HTTP 트랜잭션을 요약해서 기록해 놓는다.
그 이유는 여러 가지다. 사용 추적, 보안, 청구, 에러 탐지 등등. 이 장에서는 로깅을
간단히 알아보고, 보통 어떤 HTTP 트랜잭션 정보를 기록하는지, 로그 포맷에는 보
통 어떤 것들이 있는지 알아본다.
21.1
로그란 무엇인가?
대개 로깅을 하는 이유는 두 가지다. 서버나 프락시의 문제를 찾거나, 웹 사이트 접
근 통계를 내려고 로깅을 한다. 통계는 마케팅, 청구, 장비 조달 계획(예를 들어, 서
버나 대역폭을 늘릴 필요가 있는지 결정하려고)을 세우는 데 유용하다.
HTTP 트랜잭션의 모든 헤더를 로깅할 수는 있지만, 하루에 트랜잭션을 수백만
개나 처리하는 서버나 프락시에서 모든 데이터를 그대로 로깅하면 감당하기 힘들
어진다. 별 연관성이 없고 다시 볼 일도 없는 데이터만 로깅하는 것이다.
보통은 트랜잭션의 기본적인 항목들만 로깅한다. 일반적으로 로깅하는 필드는
다음과 같은 것들이다.
· HTTP 메서드
· 클라이언트와 서버의 HTTP 버전
· 요청받은 리소스의 URL
· 응답의 HTTP 상태 코드
· 요청과 응답 메시지의 크기(모든 엔터티 ...