我在PHP中使用fsockopen()进行一些API请求。对于大多数正常工作的API,但是从http://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”。因此,我猜它有一些意义。但是什么?
感谢提示!
答案 0 :(得分:4)
这是chunked transfer-coding,也由Transfer-Encoding: chunked
响应标头指示:
分块编码会修改消息正文 将其转换为一系列块,每个块都有自己的大小指示器, 然后是包含entity-header字段的可选预告片。这个 允许动态生成的内容与之一起传输 收件人验证其所需的信息 收到了完整的信息。
2fb
,后跟\r\n
,表示后续块的大小(763字节)。大小为0
表示最后一个块。