Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions chapter_21/고석진.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# HTTP

## 21. 로깅과 사용추적
## 21.1 로그란 무엇인가 ?

- HTTP 메서드/URL: 어떤 요청이 어떤 일을 하려 했나
- 버전 정보: 클라이언트와 서버 간에 문제가 생겼을 때 디버깅 용도
- HTTP 상태코드: 요청이 성공적으로 이루어졌는지
- 요청/응답 크기, 타임스탬프: 계측

## 21.2 로그 포맷

상용 혹은 오픈소스 HTTP 애플리케이션은 대부분, 표준 로그 포맷을 한 개 이상 지원한다.
로그를 분석 할 때 표준 로그 포맷을 이용해서, 애플리케이션과 관리자가 리소스들을 잘 활용할 수 있다.

### 21.2.1 일반 로그 포맷

가장 일반적인 포맷 중 하나는, 일반 로그 포맷이다. NCSA 가 정의했고, 많은 서버가
이 로그 포맷을 기본으로 사용한다.

[참고](https://en.wikipedia.org/wiki/Common_Log_Format)

### 21.2.2 혼합 로그 포맷

아파치 같은 서버들이 지원한다. 추가된 필드 (Referer, User-Agent) 를 제외하고는 일반 포맷과 같다

### 21.2.3 넷스케이프 확장 로그 포맷

넷스케이프가 상용 HTTP 애플리케이션이 되면서, 다른 HTTP 애플리케이션 개발자들이 사용하는 서버의 여러 로그 포맷을 도입했다.
넷스케이프의 포맷은 NCSA 일반 로그 포맷에서 시작했지만, 프락시나 웹 캐시 같은 HTTP 애플리케이션과 연관이 있는 여러 환경을 지원하려고
포맷을 확장했다.

### 21.2.4 넷스케이프 확장 2 로그 포맷

넷스케이프 확장 2 로그 포맷은 HTTP 프락시와 웹 캐시 애플리케이션과 관련한 더 많은 정보를 포함한다.

## 21.3 적중 계량하기

적중 계량 규약은 HTTP 의 확장으로, 캐시가 정기적으로 캐시 접근 통계를 원서버에 보고하도록한다.

### 21.3.1 개요

적중 계량 규약은 캐시와 서버가 접근 정보를 공유하고, 사용할 수 있는 캐시 리소스의 양을 제어할 수 있는 몇 가지 기초적인 기능에 관한 HTTP 확장을 정의한다.

### 21.3.2 Meter 헤더

Cache-Control 헤더에 다양한 캐시 지시자를 기술할 수 있듯이, 캐시나 서버는 Meter 헤더에 사용량이나 보고에 관한 지시자가 기술 할 수 있다.

## 21.4 개인 정보 보호에 대해

실제 로깅은 서버와 프락시에서 수행하는 관리 기능이므로, 모든 것이 사용자의 트랜잭션에 적용된다.
로깅하는 웹 서버와 프락시는 최종 사용자의 개인 정보를 보호하는데 신경을 많이 써야한다.