在梅森响应之前和之后这些数字是什么意思?

时间:2010-11-22 00:39:32

标签: perl http apache2 mod-perl mason

我在Ubuntu 10.10(x86)上使用mod_perl 2,mason和apache 2.2(来自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)是什么意思?我查看了我的日志,但我没有看到任何有意义的内容,我似乎无法找出谷歌的最佳搜索短语(如果我遗漏了文档中显而易见的内容,我很抱歉)。我从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>

提前致谢!

1 个答案:

答案 0 :(得分:5)

这些数字是chunked encoding的边界分隔符。 (注意响应中获得的Transfer-Encoding标题的值。)

38表示第一个块中有38个(十六进制)= 56个字节。 0表示没有更多的块。