2010-11-22 3 views
2

저는 mod_perl 2, mason 및 apache 2.2를 Ubuntu 10.10 (x86) (apt의 표준 패키지)에서 사용하고 있습니다. 서버에 HTTP 요청을 보내면 다음과 같이 표시됩니다.메이슨 응답 전후의이 숫자는 무엇을 의미합니까?

$ nc localhost 80 < ~/Desktop/test.http 
HTTP/1.1 200 OK 
Date: Mon, 22 Nov 2010 00:32:02 GMT 
Server: Apache/2.2.16 (Ubuntu) 
Vary: Accept-Encoding 
Transfer-Encoding: chunked 
Content-Type: text/html 

38 
<html><body>Current IP Address: 127.0.0.1</body></html> 

0 

나는 이것에 대해 조금 궁금합니다. 그 숫자 (38와 0)는 무엇을 의미합니까? 내 로그를 살펴 봤지만 의미있는 것이 아무것도 없으며 Google에 가장 적합한 검색 문구를 찾아 낼 수 없습니다. (문서에서 명백한 내용이없는 경우 미안합니다.) 나는 텔넷과 같은 결과를 얻는다. (그러나 파이어 폭스는 어떤 종류의 에러도 던지지 않는다.)

GET /test.html HTTP/1.1 
HOST: example.com 

내 스크립트 (인 test.html) :

여기 (끝 부분에 공백을 생략) 내 요청의 내용입니다 사전에

% my $ip = $r->connection->remote_ip(); 
<html><body>Current IP Address: <% $ip %></body></html> 

감사합니다!

답변

5

숫자는 chunked encoding의 경계 구분 기호입니다. 응답에서 얻은 Transfer-Encoding 헤더의 값을 확인하십시오.

38은 첫 번째 청크에 38 (16 진수) = 56 바이트가 있음을 나타냅니다. 0은 청크가 더 이상 없음을 나타냅니다.

+0

감사! 그게 내가 찾고 있던거야! –