避免HTTP / 1.1响应的分块编码

时间:2013-08-11 17:01:39

标签: http http-headers chunked-encoding

我希望避免从(符合)HTTP服务器获得 chunked 编码的HTTP服务器响应。我正在阅读RFC 2616部分“14.39 TE”,在我看来,我可以通过指定TE: chunked;q=0来避免它。如果我无法避免 chunked 编码,我想避免使用预告片。指定TE: trailers;q=0会有效吗?

1 个答案:

答案 0 :(得分:9)

来自rfc2616 - Hypertext Transfer Protocol -- HTTP/1.1部分的3.6.1 Chunked Transfer Coding

  

所有HTTP / 1.1应用程序必须能够接收和解码      “chunked”传输编码,必须忽略chunk-extension扩展      他们不明白。

RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing部分的更新4.1. Chunked Transfer Coding中仍然如此,但措辞略有不同:

  

收件人必须能够解析和解码分块传输      编码

因此,如果您想要符合HTTP / 1.1,则必须接受分块编码。


更新

至于预告片:我认为如果您未在请求中发送TE标题字段,则符合规定的服务器不应向您发送任何预告片。如果它仍然发送预告片,你可能会保存以忽略它们(再次参见第3.6.1节):

  

在响应中使用分块传输编码的服务器绝不能使用      任何标题字段的预告片,除非至少满足以下条件之一      真:

     

a)请求包括一个表示“预告片”的TE头字段        在响应的转移编码中是可接受的,如中所述        第14.39节;或者,

     

b)服务器是响应的原始服务器,预告片        字段完全由可选元数据和收件人组成        可以使用该消息(以原始服务器可接受的方式)        没有收到这个元数据。换句话说,原始服务器        愿意接受预告片领域的可能性        被安静地丢弃在通往客户的道路上。