0

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

エンコードされた応答を使用する場合、速度に違いはありますか?

4

2 に答える 2

1

短い答えは通常はいです。

長い答え、それは依存します。以下について:

  1. サーバーが応答を圧縮するように構成されているかどうか。
  2. 要求が動的コンテンツまたは静的コンテンツのどちらであるか。(一部のサーバーは動的コンテンツを圧縮しません)
  3. サーバーとクライアント間の帯域幅と待ち時間。
  4. 返される応答のサイズ。小さな応答では大きな違いはありません。

また、クライアント側に「accept-encoding」を追加すると、サーバーに「gzip/deflate を理解しました」と伝え、サーバーに応答の圧縮を強制しないことに注意してください。

于 2013-06-29T10:19:35.830 に答える
0

これをヘッダーに追加することで、リクエストを作成しているクライアントアプリが圧縮されたコンテンツを受け入れることができることをサーバーに知らせるだけです。サーバーが圧縮された応答を送信できる場合、ヘッダーでこれを解釈した後、データを圧縮して戻します。パフォーマンスについて 取得するデータが巨大な場合、zip が役立つ場合があります。それ以外の場合、zip は小さなオーバーヘッドであり、通常は無視できます。

于 2013-06-29T10:20:36.897 に答える