2

我在 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>

提前致谢!

4

1 回答 1

5

这些数字是分块编码的边界分隔符。(注意Transfer-Encoding您在响应中获得的标头的值。)

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

于 2010-11-22T00:44:28.560 回答