在请求标头中 接受编码:gzip,deflate,丢失,但在响应标头中 内容编码:gzip 存在。 是否会导致压缩失败。 如果是,如何避免?
请求网址:http://something.com/something.js
请求方法:获取
状态代码:200 正常 200 正常
请求标头
接受:*/*推荐人:某事.aspx用户代理:Mozilla/5.0(视窗NT 6.1;WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36X-开发工具-模拟-网络-条件-客户端-ID: 2D3ED9B5-95BD-4984-9EEE-405C2889F11E
响应标头
接受范围:字节内容编码:gzip内容长度:884内容类型:application/x-javascript日期:2014 年 10 月 28 日星期二 11:09:13 GMTETag: "0ac99ce3e9fcf1:0"最后修订日期: 周一, 14 七月 2014 08:37:12 GMT服务器:Microsoft-IIS/8.0变化:接受编码X供电者:ASP.NET
来自 RFC 7231:
没有接受编码标头字段的请求意味着用户代理对内容编码没有偏好。 虽然这允许服务器在响应中使用任何内容编码,它并不意味着用户代理将能够正确处理所有编码。
简而言之:如果您指定不Accept-Encoding
,服务器向您发送压缩内容是合法的(尽管不明智)。似乎没有一种可靠、可靠的方法来告诉 Web 服务器它绝对不应该压缩。您可以尝试Accept-Encoding: *;q=0
或Accept-Encoding: identity
,但对此的支持在 Web 服务器上并不普遍,代理也会搞砸事情。
以这种方式返回,您可能最好简单地处理压缩内容 - 客户端没有充分的理由不支持压缩,并且为此提供的库是免费提供的。