代码之家  ›  专栏  ›  技术社区  ›  Watson

运行TargetFramework net472的.netcore应用程序上的响应压缩

  •  0
  • Watson  · 技术社区  · 8 年前

    我一直试图让Microsoft.AspNetCore.ResponseCompression 2.1.1在一个以.net full framework 472为目标的.net核心项目应用程序上运行,但没有成功。

    我已经将项目剥离到核心,只剩下:

            public void ConfigureServices(IServiceCollection services)
            { 
                services.AddResponseCompression(options =>
                {
                    options.EnableForHttps = true;
    
                });
            } 
    
    
            public void Configure(IApplicationBuilder app)
            { 
                app.UseResponseCompression();   
    
                app.UseStaticFiles(); 
            }
    

    我试图让中间件压缩一个静态文件。

    GET http://localhost:3721/css/Site.css HTTP/1.1
    Host: localhost:3721
    Connection: keep-alive
    Accept: text/css
    Accept-Encoding: gzip, deflate, br, *
    

    响应标头:

    HTTP/1.1 200 OK
    Date: Sat, 03 Nov 2018 01:20:21 GMT
    Content-Type: text/css
    Server: Kestrel
    Last-Modified: Thu, 13 Jul 2017 16:35:14 GMT
    Accept-Ranges: bytes
    ETag: "1d2fbf600bbcfda"
    Vary: Accept-Encoding
    Content-Length: 730
    

    content-encoding: gzip (or other)
    

    是否可以连接到决定是否压缩请求的方法中?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Edward    8 年前

    cache (vary) responses 具有 Vary: Accept-Encoding .

    当服务器将值为Accept Encoding的数据发送到客户端时 应该根据 接受请求的编码头。返回内容的结果 与Vary:Accept-Encoding报头相同的是,压缩和 未压缩的响应单独缓存。

    您可以尝试以下不同的方法来查看不同的结果:

    • 铬:按 Ctrl + F5 检查响应头。
    • 试试邮递员