2013-06-29 77 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

這取決於,通過在標題中添加此標記,您只是讓服務器知道客戶端應用程序製作請求可以接受壓縮內容。如果服務器能夠發送壓縮響應,它將在解析頭中的數據後壓縮數據。在性能上如果要獲取的數據是巨大的壓縮可能有幫助,否則壓縮將是小的開銷,通常是微不足道的。