为什么HTTP响应主体包含“;2fb”;一开始


Why does the HTTP response body contain "2fb" at the beginning?

我正在PHP中使用fsockopen()处理一些API请求。对于大多数正常工作的APIhttp://geocoding.cloudmade.com/我得到以下(RAW)响应:

HTTP/1.1 200 OK
Server: nginx/0.6.35
cache-control: no-cache
Content-Type: application/json; charset=utf-8
Date: Tue, 19 Feb 2013 11:08:05 GMT
pragma: no-cache
Transfer-Encoding: chunked
Connection: close
2fb
{"found": 1, "bounds": [[52.48732, 13.42553], ...
0

我的问题是,正文第一行的"2fb"和最后一行的"0"并不能告诉我什么。如果我通过Firefox发送相同的请求,则正文不包含"2fb"或"0"。因此,我想它有一些意义。但是什么?

谢谢你的提示!

这是分块传输编码,也由Transfer-Encoding: chunked响应标头表示:

分块编码修改消息的正文,以便将其作为一系列块来传输,每个块具有自己的大小指示符,后面跟着一个包含实体标题字段的OPTIONAL尾部。这允许动态生成的内容与收件人验证其是否拥有所需的信息收到完整的消息。

后面跟有'r'n2fb指示后面的块(763字节)的大小。0的块大小指示最后的块。