我在这个HTTPCombiner中看到这个方法:
private bool CanGZip(HttpRequest request)
{
string acceptEncoding = request.Headers["Accept-Encoding"];
if (!string.IsNullOrEmpty(acceptEncoding) &&
(acceptEncoding.Contains("gzip") || acceptEncoding.Contains("deflate")))
return true;
return false;
}
如果返回true,则使用
GZipStream
压缩响应。是这样吗? 最佳答案
这是两种不同的算法:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5
这里有些代码:
http://www.singular.co.nz/blog/archive/2008/07/06/finding-preferred-accept-encoding-header-in-csharp.aspx
所以,根据协议,这是不对的,就像浏览器说“给我使用deflate的内容”,你不应该发送回gzip。