在高并发一定都开启gzip压缩,因为相对于cpu的细微损耗,通过减少网络传输带来的性能提升收益更高,下面是net core8中开启gzip的方法。
1、在Program.cs中注册Gzip服务
services.AddResponseCompression(options => { // 核心开关:启用压缩,且对 HTTPS 请求也生效(.NET 8 推荐显式配置) options.EnableForHttps = true; // 添加 Gzip 压缩提供器(这是开启 Gzip 的关键) options.Providers.Add<GzipCompressionProvider>(); // 扩展需要压缩的 MIME 类型(.NET 8 默认仅包含基础类型,补充业务常用类型) options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/json", // API 返回的 JSON 数据(核心) "application/xml", // XML 格式数据 "text/plain", // 纯文本 "text/css", // CSS 样式 "text/javascript", // JS 脚本 "text/html", // HTML 页面 }); }); // 配置 Gzip 压缩级别(推荐 Optimal,平衡性能和压缩率) services.Configure<GzipCompressionProviderOptions>(options => { options.Level = System.IO.Compression.CompressionLevel.Optimal; });
2、启用Gzip中间件,这步不要忘记了。
app.UseResponseCompression();
这里要注意:必须放在 UseRouting和MapControllers 之前。