netcore 启用gzip压缩及缓存

复制代码
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是中文,但查看源代码是&#x4F60;&#x597D;
     services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 使用压缩缓存中间件 应该放在最上面,否则不起作用
    app.UseResponseCompression();

    // 使用缓存中间件
    app.UseResponseCaching();
    ...
}

数字示波器

相关推荐
瑞码空间9 天前
Web应用的多端部署之道:浏览器 · Electron · Docker
前端·docker·electron·浏览器·web
way_hj10 天前
Flask笔记(2)快速web项目
笔记·flask·vue·web
钛态11 天前
AI 辅助:前端框架反模式:过度封装、状态滥用与副作用失控
前端·vue·react·web
钛态11 天前
前端框架选型决策框架:React、Vue、Svelte、Solid 的 2026 年横评
前端·vue·react·web
sun༒13 天前
Java Web 三大组件之 Servlet:从入门到理解生命周期
java·servlet·web
小王C语言16 天前
【10. web 自动化测试及项目部署】:使用 skill 进行 web 自动化测试、数据库重置、项目阅读/部署文档
web·web自动化测试
REDcker21 天前
Cesium三维WebGIS入门详解
前端·gis·web·cesium·webgis
罗超驿22 天前
JavaEE进阶之路:从Web架构原理到HTML标签全解析
前端·html·web·javaee
DogDaoDao22 天前
OpenBrowser 深度解析:让 AI 真正「用上」浏览器的自主代理框架
人工智能·程序员·大模型·github·web·ai工具·openbrowser
jieyucx1 个月前
Nuxt4阶段六:工程化与进阶 —— 模块、中间件、插件、TS 与测试
中间件·vue·web·nuxt·全栈·ssr