Asp.net core asp.net核心gzip压缩取决于响应大小
我们使用gzip压缩,如:Asp.net core asp.net核心gzip压缩取决于响应大小,asp.net-core,Asp.net Core,我们使用gzip压缩,如: services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest); services.AddResponseCompression(options => { options.Providers.Add<GzipCompressionProvider>(); }); ser
services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest);
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
});
services.Configure(选项=>options.Level=CompressionLevel.faster);
services.AddResponseCompression(选项=>
{
options.Providers.Add();
});
由于我们希望避免对小响应进行压缩,问题是我们是否可以配置gzip压缩,使其不用于小于XY的响应大小?ASP.NET Core 2.1中的压缩中间件似乎不提供基于内容大小压缩数据的能力,所以对您的问题的简短回答是“否” 然而,我理解这样设置的主要原因是为了使整个请求端到端更快,这是应该为您做的 ASP.NET核心压缩中间件注意事项。 最终调用构造函数和方法,其中.NET中定义的CompressionLevel枚举映射到用于执行实际压缩的基础库中定义的压缩级别。从: 压缩级别必须是Z_DEFAULT_compression,或者介于0和9之间:1提供最佳速度,9提供最佳压缩,0完全不提供压缩(输入数据一次只复制一个块)。Z_DEFAULT_COMPRESSION要求在速度和压缩之间进行默认折衷(目前相当于6级) 根据ASP.NET核心压缩中间件映射压缩级别的方式(如和中所定义),我们可以推断出以下内容:
- 压缩级别。最快:zlib压缩级别将为1,即更快,压缩更少
- 压缩级别。最佳:zlib压缩级别为6,即速度和压缩之间的折衷
除此之外,客户机还可以通过适当设置Accept Encoding request HTTP头来指定是否应压缩响应,如文档中所述。非常感谢您为这个漂亮的答案付出的努力!