2013-06-29 78 views
0

我正在写一个使用WebClient类的应用程序。WebClient和Gzip压缩速度更快?

添加类似的东西:

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; 
    } 
} 

这将是速度diffrence时,我将使用编码的回应?

回答

1

简答题通常是的。

长的答案,这取决于。如下所示:

  1. 是否将服务器配置为压缩响应或不压缩响应。
  2. 请求是针对动态还是静态内容。 (某些服务器不压缩动态内容)
  3. 服务器和客户端之间的带宽和延迟。
  4. 返回的响应大小,对小响应不会产生很大的影响。

另请注意,在客户端添加“accept-encoding”,会告诉服务器“我了解gzip/deflate”,并且不会强制服务器压缩响应。

0

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