我在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>
提前致谢!
答案 0 :(得分:5)
这些数字是chunked encoding的边界分隔符。 (注意响应中获得的Transfer-Encoding
标题的值。)
38表示第一个块中有38个(十六进制)= 56个字节。 0表示没有更多的块。