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

wil*_*ilx 6 http chunked-encoding http-headers

我想避免从(符合)HTTP服务器获得分块编码的HTTP服务器响应.我正在阅读RFC 2616部分" 14.39 TE ",在我看来,我可以通过指定来避免它TE: chunked;q=0.如果我无法避免分块编码,我想避免拖车.会指定TE: trailers;q=0工作吗?

PoB*_*lek 9

来自rfc2616 - 超文本传输​​协议 -3.6.1节中的HTTP/1.1块传输编码:

所有HTTP/1.1应用程序必须能够接收和解码"分块"传输编码,并且必须忽略他们不理解的块扩展扩展.

在更新的RFC 7230 - 超文本传输​​协议(HTTP/1.1):4.1节中的消息语法和路由中仍然如此.分块传输编码虽然措辞略有不同:

接收方必须能够解析和解码分块传输编码.

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


更新

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

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

a)请求包括一个TE头字段,表示在响应的传输编码中可以接受"预告片",如第14.39节所述; 要么,

b)服务器是响应的原始服务器,预告片字段完全由可选元数据组成,并且接收者可以使用该消息(以原始服务器可接受的方式)而不接收该元数据.换句话说,源服务器愿意接受拖车字段可能沿着到客户端的路径被静默丢弃的可能性.