.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();
}
すべてのヘルプははるかに高く評価されるだろう。すべてのドキュメントは、これは私に私の転送のサイズにかなり大きな違いを与えるはずだと言います。
感謝。私はPostmanとFiddlerを使うのが初めてです。私がPostmanで見たのは、それがすでに圧縮されていないためです。 リクエスト(http) - >レスポンス(tcp) - >圧縮(tcp) - >非圧縮(tcp) - >レスポンス(http)のようなフローですか? TCP/HTTPで何が起こっているのか詳しく説明するために私に送ることができるサイトやリンクはありますか? – stumpykilo
圧縮は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