c# – 如果浏览器可以显示deflate的Accept-Encoding,它是否可以处理.NET gzipped响应?

我在这个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.

上一篇:javascript – 大数字阵列压缩


下一篇:Java压缩库支持Deflate64