0

据说TransportContent-Encoding自动处理(比如读取时自动解压resp.Body)。

也有人说,Content-Encoding是端到端的 HTTP 标头,而不是逐跳标头。

因此,如果一个代理复制Content-Encoding回客户端的响应头,并且这个代理也是io.Copy上游响应体(可能会自动解压缩,因为io.Copy将从中读取resp.Body),这不会与客户端不一致吗?(Content-Encoding从上游响应复制,但正文已解压缩)

4

1 回答 1

0

通常,代理不应更改 Content-Encoding 响应标头。

同一个 URI 的不同编码被认为是不同的表示,具有不同的 ETag。因此,更改 Content-Encoding 并不能很好地配合缓存。

但是,如果它是您自己的生态系统中的您自己的代理和客户端,您可以这样做,因为您知道发生了什么,因此如果您的代理将数据解压缩回客户端,您需要剥离 Content-Encoding 标头。

于 2016-09-09T02:17:14.660 回答