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();
    ...
}

数字示波器

相关推荐
pengzhuofan34 分钟前
Web开发系列-第9章 SpringBootWeb登录认证
java·spring boot·后端·web
pengzhuofan1 小时前
Web开发系列-第13章 Vue3 + ElementPlus
前端·elementui·vue·web
OEC小胖胖1 天前
渲染篇(一):从零实现一个“微型React”:Virtual DOM的真面目
前端·react.js·前端框架·web
ん贤2 天前
GoWeb必备理论
go·web
我的ID配享太庙呀2 天前
从零开始:在 PyCharm 中搭建 Django 商城的用户注册与登录功能(轮播图+商品页-小白入门版)
数据库·python·django·sqlite·web·教育电商
YGY Webgis糕手之路3 天前
OpenLayers 快速入门(六)Interaction 对象
前端·vue.js·经验分享·笔记·web
uwvwko4 天前
使用docker(ubuntu)搭建web环境(php,apahce2)
ubuntu·docker·php·web·ctf·apache2
YGY Webgis糕手之路4 天前
WebGIS 常用坐标系
前端·经验分享·笔记·web
曲幽5 天前
解锁C#异步编程:async/await实战指南,告别卡顿烦恼
c#·web·async·file·await·download
O执O6 天前
JavaWeb笔记四
java·hive·hadoop·笔记·web