我正在使用Puma服务器运行rails应用程序,并且每个响应在开始时都有一些十六进制数字(看起来像体长)和每个响应的结束(始终为零).
HTTP/1.1 200 OK X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-UA-Compatible: chrome=1 Content-Type: application/json; charset=utf-8 ETag: "8e6d795d26a3839c23c0b28f7b2e3c08" Cache-Control: max-age=0, private, must-revalidate Set-Cookie: [skip]; path=/; HttpOnly X-Request-Id: 741cdbde-39a8-4b99-9af7-15a7e65ff1ac X-Runtime: 0.202731 Transfer-Encoding: chunked f <-- THIS {"response":{}} 0 <-- AND THIS
这是什么?
这就是分块传输编码的工作方式.它将主体分段发送,前面是一行,包含十六进制的长度.身体的末端由0
长度较大的块表示.
所以你要展示的是第一个块长15个字符,并且没有第二个块.
正确的HTTP客户端或API应该删除这些块头,然后返回内容.
有关更多详细信息,请参阅Wikipedia ; 有关官方规范,请参阅RFC 2616.