2010-11-22 69 views
2

我在Ubuntu 10.10(x86)(apt标准包)上使用mod_perl 2,mason和apache 2.2。当我发送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的最佳搜索词(如果我错过了文档中显而易见的东西,则很抱歉)。我从telnet获得相同的结果(但Firefox似乎没有引发任何错误)。

这里是我的要求的内容(末尾省略空格):

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(十六进制)= 56个字节。 0表示没有更多的块。

+0

谢谢!这正是我期待的! – 2010-11-22 00:49:03