2

我正在构建一个 REST API .. 有时服务器会返回带有分块传输编码的响应?这是为什么?!

为什么服务器不能总是以相同的编码返回响应?

问题是当数据以分块形式返回时,我不知道如何读取数据!?

更新

需要moore downvotes...才能呼吸...

4

3 回答 3

2

假设您的服务器使用的是 Apache,这是预期的行为。您可以通过将此行放入.htaccess文件中来禁用它:

SetEnv downgrade-1.0

但是,您应该考虑修改阅读代码以仅支持不同的内容编码。您使用什么库来发出 HTTP 请求?任何合理的 HTTP 库都可以处理分块请求。如果您的请求代码是用 PHP 编写的,请使用 curl。http://php.net/manual/en/book.curl.php

于 2012-04-24T18:03:08.460 回答
1

取自服务器故障

  1. 指定“Content-Length”标头,以便服务器知道响应的大小
  2. 在请求者端使用 HTTP 1.0
于 2014-01-24T08:54:19.163 回答
0

一个问题可能是 Apache 正在压缩您的下载,负责更正 Content-Length,或者在您的情况下,添加标题

内容编码:分块

您可以添加一个.htaccessRewriteRule 来禁用 gzip:

RewriteRule . - [E=no-gzip:1]
于 2012-12-12T11:22:18.527 回答