WebClient和Gzip压缩更快?

时间:2013-06-29 10:09:13

标签: c# gzip webclient

我正在编写一个使用WebClient类的应用程序。

添加类似的内容:

ExC.Headers.Add("Accept-Encoding: gzip, deflate");

ExC是:

class ExWebClient1 : WebClient
{

    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

        return request;
    }
}

当我使用编码响应时,速度会有所不同吗?

2 个答案:

答案 0 :(得分:1)

简短回答通常是。

答案很长,这取决于。以下内容:

  1. 是否将服务器配置为压缩响应。
  2. 请求是针对动态内容还是静态内容。 (某些服务器不压缩动态内容)
  3. 服务器和客户端之间的带宽和延迟。
  4. 返回响应的大小,对于小的响应,它不会产生很大的不同。
  5. 另请注意,在客户端添加“accept-encoding”会告诉服务器“我理解gzip / deflate”并且不会强制服务器压缩响应。

答案 1 :(得分:0)

这取决于,通过在标题中添加此项,您只需让服务器知道客户端应用程序制作请求可以接受压缩内容。如果服务器能够发送压缩响应,它将在解析头文件后将数据压缩回来。关于性能如果要获取的数据是巨大的压缩可能会有所帮助,否则压缩将是一个小的开销,通常可以忽略不计。