某些网站会强制使用 gzip 编码吗?

Do some websites force gzip encoding?

我目前正在使用 OKHTTP,我 运行 遇到这样一种情况,在我的 header 中接受 gzip 编码会导致返回的文本格式错误(我知道,它只是 gzip 压缩了).

我的解决方案是将其从任何传递到我的程序中的 header 中提取出来,将 gzip 替换为:Accept-Encoding: identity

我的问题是,我可能 运行 进入任何不喜欢这个 header 的网站吗?这会通用吗?或者是否有强制 gzip 编码的网站?通常简单地进行快速修复就可以了,但是这被放入了一个工具中,该工具应该可以与用户需要它的任何网站一起使用。

根据标准 (https://www.rfc-editor.org/rfc/rfc7231#section-5.3.4) 所有服务器都应该遵守身份或发送不带编码的响应,这是一回事。换句话说,您 不太可能 到 运行 遇到问题。另一方面,应该意味着在某些情况下这可能不适用,所以它可能会发生。此外,并非所有服务器都遵循标准。

如果你完全省略 Accept-Encoding header,OkHttp 会自动请求一个 gzipped 响应,然后在返回给你之前解压缩它。