public void ConfigureServices(IServiceCollection services)
{
....
// 配置gzip 与 br的压缩等级为最优
services.Configure<BrotliCompressionProviderOptions>(options => {
options.Level = CompressionLevel.Optimal;
});
services.Configure<GzipCompressionProviderOptions>(options => {
options.Level = CompressionLevel.Optimal;
});
// 压缩
services.AddResponseCompression(options => {
options.EnableForHttps = true;// 启用HTTPS的压缩
//options.Providers.Add<BrotliCompressionProvider>();
options.Providers.Add<GzipCompressionProvider>();
// 拓展一些类型
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[]
{
"text/html; charset=utf-8",
"application/xhtml+xml",
"application/atom+xml",
"image/svg+xml"
});
});
services.AddResponseCaching(); // 缓存
//解决中文被编码, 如页面显示 title是中文,但查看源代码是你好
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 使用压缩缓存中间件 应该放在最上面,否则不起作用
app.UseResponseCompression();
// 使用缓存中间件
app.UseResponseCaching();
...
}
netcore 启用gzip压缩及缓存
秦宇升2025-02-21 13:12
相关推荐
中草药z1 小时前
【自动化测试】Selenium详解-WebUI自动化测试ZZHow10242 天前
JavaWeb开发_Day05OEC小胖胖7 天前
【CSS 布局】告别繁琐计算:CSS 现代布局技巧(gap, aspect-ratio, minmax)Code季风9 天前
深入理解 Gin 框架的路由机制:从基础使用到核心原理OEC小胖胖9 天前
第七章:数据持久化 —— `chrome.storage` 的记忆魔法OEC小胖胖9 天前
第六章:玩转浏览器 —— `chrome.tabs` API 精讲与实战cyber_两只龙宝9 天前
综合项目记录:自动化备份全网服务器数据平台鹏多多.11 天前
flutter-使用AnimatedDefaultTextStyle实现文本动画OEC小胖胖11 天前
幕后英雄 —— Background Scripts (Service Worker)姜 萌@cnblogs13 天前
【实战】让AI理解用户的文化背景:开源项目Saga Reader自动翻译的技术实现