我希望避免从(符合)HTTP服务器获得 chunked 编码的HTTP服务器响应。我正在阅读RFC 2616部分“14.39 TE”,在我看来,我可以通过指定TE: chunked;q=0
来避免它。如果我无法避免 chunked 编码,我想避免使用预告片。指定TE: trailers;q=0
会有效吗?
答案 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)服务器是响应的原始服务器,预告片 字段完全由可选元数据和收件人组成 可以使用该消息(以原始服务器可接受的方式) 没有收到这个元数据。换句话说,原始服务器 愿意接受预告片领域的可能性 被安静地丢弃在通往客户的道路上。