access.log(error.log) 파일을 통해서 간단한 Http 요청이 들어왔는지 확인할 수 있다. 보다 깊숙하게 어떤 정보가 들어왔는지 확인하기 위해서는 mod_dumpio 모듈을 이용해서 확인할 수 있다.

Modules 디렉토리안에 mod_dumpio.so 파일이 존재하지 않으면, 소스디렉토리의 modules/debug/mod_dumpio.c 파일을 설치하면 된다.

${APACHE_HOME}/bin/apxs –aic mod_dumpio.c

Modules디렉토리의 mod_dumpio.so 파일이 생성되고, conf/httpd.conf 파일에 다음 설정이 추가된다.

LoadModule dumpio_module modules/mod_dumpio.so

Conf/httpd.conf 파일에 다음 설정을 추가하고 서버를 재시작한다.

LogLevel debug

DumpIOInput On

Java 의 HttpURLConnection을 이용해서 http://dev-service.google.com/index?type=service&keyword=aaa 을 요청하도록 하였다. Access.log 파일에는 기존과 동일하게 요청결과를 확인할 수 있다.

10.64.83.203 - - [13/Apr/2011:19:57:53 +0900] "POST /index HTTP/1.1" 200 64061

Error.log 파일에는 Http 요청에 대한 정보가 상세하게 기록이 된다.

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 26 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): POST /index HTTP/1.1\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 39 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Content-type: text/xml; charset=UTF-8\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 25 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Cache-Control: no-cache\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 18 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Pragma: no-cache\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 27 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): User-Agent: Java/1.6.0_24\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 30 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Host: dev-service.google.com\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 62 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 24 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Connection: keep-alive\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 20 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): Content-Length: 18\r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 2 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): \r\n

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [readbytes-blocking] 18 readbytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_in (data-HEAP): 24 bytes

[Wed Apr 13 19:57:53 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_in (data-HEAP): type=service&keyword=aaa

DumpIOOutput 지시자를 추가하면, response 정보도 확인할 수 있다.

LoadModule dumpio_module modules/mod_dumpio.so

LogLevel debug

DumpIOInput On

DumpIOOutput On

Error.log 파일에 기존 http request 정보와 함께 다음과 같이 response 출력도 확인할 수 있다.

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(142): mod_dumpio: dumpio_out

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (data-HEAP): 330 bytes

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_out (data-HEAP): HTTP/1.1 200 OK\r\nDate: Wed, 13 Apr 2011 11:23:38 GMT\r\nServer: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.7a mod_jk/1.2.31\r\nLast-Modified: Wed, 13 Apr 2011 11:23:31 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 6\r\nCache-Control: max-age=7192\r\nExpires: Wed, 13 Apr 2011 13:23:31 GMT\r\nConnection: close\r\nContent-Type: text/html\r\n\r\n

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(142): mod_dumpio: dumpio_out

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (data-FILE): 6 bytes

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(74): mod_dumpio: dumpio_out (data-MMAP): hello\n

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (metadata-EOS): 0 bytes

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(142): mod_dumpio: dumpio_out

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (metadata-FLUSH): 0 bytes

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(142): mod_dumpio: dumpio_out

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (metadata-FLUSH): 0 bytes

[Wed Apr 13 20:23:38 2011] [debug] mod_dumpio.c(55): mod_dumpio: dumpio_out (metadata-EOC): 0 bytes

Posted by '김용환'
,