代码之家  ›  专栏  ›  技术社区  ›  Joe Bane

梅森回答之前和之后的这些数字意味着什么?

  •  2
  • Joe Bane  · 技术社区  · 15 年前

    我在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 回复  |  直到 15 年前
        1
  •  5
  •   friedo    15 年前

    数字是的边界分隔符 chunked encoding . (注意 Transfer-Encoding 你在回复中的标题。)

    38表示第一个块中有38个(十六进制)=56字节。0表示不再有块。