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
相关推荐
曲幽17 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制曲幽2 天前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案曲幽2 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议曲幽3 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话曲幽4 天前
我用FastAPI接ollama大模型,差点被asyncio整崩溃(附对话窗口实战)曲幽6 天前
FastAPI + Ollama 实战:搭一个能查天气的AI助手holeer7 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译敲敲了个代码8 天前
浏览器时间管理大师:深度拆解 5 大核心调度 API差不多的张三9 天前
【RSS】博客收集夜瞬10 天前
【Flask 框架学习】02:核心基本概念全解析