0

.NET Core 2.0 Web APIプロジェクトでResponseCompressionを設定するためのすべてのドキュメントに従っていますが、転送のサイズに違いはありません。圧縮後 https://i.stack.imgur.com/jAAuy.jpgResponseCompressionが.NET Core 2.0 Web APIで動作するようにする

:圧縮前の

:ここではポストマン使用する前に、結果の後にある

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddResponseCompression(options => 
    { 
     options.Providers.Add<GzipCompressionProvider>(); 
    }); 
    services.Configure<GzipCompressionProviderOptions>(options => 
    { 
     options.Level = CompressionLevel.Optimal; 
    }); 
:ここ https://i.stack.imgur.com/HviP5.jpg

はStartup.csの私ConfigureServices方法の始まりです

Startup.csの設定方法は次のとおりです。

public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
{ 
    app.UseResponseCompression(); 

    if (env.IsDevelopment()) 
    { 
     app.UseDeveloperExceptionPage(); 
    } 

    app.UseSwagger(); 
    app.UseSwaggerUI(c => 
    { 
     c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); 
    }); 

    app.UseMvc(); 
} 

ここでは私のVendorController上で私のGETアクションです:

[HttpGet] 
public IActionResult Get() 
{ 
    var stuff = new Collection<string>(); 
    for (int i = 0; i < 100000; i++) 
    { 
     stuff.Add($"hello{i}"); 
    } 
    return Ok(stuff); 
} 

私はIISを使用していない、ここに私のProgram.csです:

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     BuildWebHost(args).Run(); 
    } 

    public static IWebHost BuildWebHost(string[] args) => 
     WebHost.CreateDefaultBuilder(args) 
      .UseStartup<Startup>() 
      .Build(); 
} 

すべてのヘルプははるかに高く評価されるだろう。すべてのドキュメントは、これは私に私の転送のサイズにかなり大きな違いを与えるはずだと言います。

答えて

0

圧縮が正常に機能している場合は、正常にチェックしないでください。

実際に非圧縮データのサイズが表示されます。 PostmanはHTTPプロトコルで動作するアプリケーションであり、基盤となる転送プロトコル(TCPなど)のサイズについてあまり気にしないので意味があります。

実際の応答サイズを確認する最も簡単な方法は、Fiddlerを使用することです。実際にはHTTPレスポンスの一部ではないため、ResponseSize列はMiscellaneousコレクションの下に追加できます。そして、あなたは、このような合成データのことを見ることができます圧縮されたパケットのサイズは、非圧縮のため、実際の10倍以上小さいものである:トンを助けたあなたの応答CodeFuller、用

enter image description here

+0

感謝。私はPostmanとFiddlerを使うのが初めてです。私がPostmanで見たのは、それがすでに圧縮されていないためです。 リクエスト(http) - >レスポンス(tcp) - >圧縮(tcp) - >非圧縮(tcp) - >レスポンス(http)のようなフローですか? TCP/HTTPで何が起こっているのか詳しく説明するために私に送ることができるサイトやリンクはありますか? – stumpykilo

+0

圧縮はHTTPプロトコルの一部です。そのため、基本的なトランスポートプロトコル(TCPなど)はそれを認識しません。郵便配達員は、圧縮されていないデータのサイズを示します。圧縮されていないデータは圧縮されていないためですが、元のデータのサイズを計算する方法を知っているためです。開始のためにこれらの記事をチェックしてください:https://developer.mozilla.org/en-US/docs/Web/HTTP/Compression and https://betterexplained.com/articles/how-to-optimize-your-site-with -gzip-compression / – CodeFuller

関連する問題