为什么node.js在我的POST请求中附加'0'?

时间:2011-06-02 06:57:23

标签: javascript http node.js

考虑以下非常简单的node.js脚本:

http = require('http')

  options =
{
  host:'localhost',
  port:8000,
  method:'POST'
}

req = http.request(options)
req.end()

当我告诉netcat监听端口8000然后执行脚本时,netcat产生以下内容:

POST / HTTP/1.1
Host: localhost:8000
Connection: close
Transfer-Encoding: chunked

0

尾随零是什么?请注意,这不是netcat引入的工件。

1 个答案:

答案 0 :(得分:3)

正如标题所示,它正在使用分块编码。 基本上它将字节块的长度作为文本后跟该块发送。 在你的情况下,它发送一个零长度的块。

这是标准http / 1.1的一部分,请参阅http://en.wikipedia.org/wiki/Chunked_transfer_encoding