在 ASP.NET Core 中启用响应压缩中间件,可以让服务器自动压缩响应内容(如 HTML、JSON 等),从而减少传输体积,提升性能。启用步骤主要包括添加服务和使用中间件两个部分。
安装并配置响应压缩服务
ASP.NET Core 内置了 Response Compression 功能,但需要手动注册相关服务。在 Program.cs 文件中,调用
AddResponseCompression方法来添加服务: 支持的压缩方式包括 Gzip 和 Brotli,默认可同时启用 可以自定义压缩级别和要压缩的 MIME 类型 builder.Services.AddResponseCompression(options =>
{
options.EnableForHttps = true; // 可选:对 HTTPS 响应也启用压缩
options.MimeTypes = new[] { "text/plain", "text/html", "application/json", "application/xml" };
});
启用响应压缩中间件
注册服务后,还需要在请求管道中使用该中间件。在
UseRouting之后、其他可能写入响应的中间件之前调用
UseResponseCompression: app.UseResponseCompression(); // 启用响应压缩
app.UseRouting();
app.UseAuthorization();
app.MapControllers();
注意:必须在任何产生响应内容的中间件之前调用,否则不会生效。
验证压缩是否生效
启动应用后,可通过浏览器开发者工具查看网络请求的响应头:
检查是否存在Content-Encoding: gzip或
br确认响应大小明显小于原始内容
如果未生效,请检查 MIME 类型是否在配置列表中,或是否被缓存等中间件干扰。
基本上就这些。只要正确注册服务并插入中间件,ASP.NET Core 就会自动处理符合条件的响应压缩。