缺少 HTTP 压缩文件

Missing HTTP Compression Files

我正在使用 IIS 提供的 HTTP 压缩来压缩我网站的静态和动态内容。我看到返回到浏览器的 gzip 内容(Content-Encoding header 作为响应也显示 gzip)。我所有的应用程序池都使用网络服务标识,并且我已将压缩文件夹 (D:\Compression) 的完全控制权交给了网络服务。我在配置编辑器中也将 staticCompressionIgnoreHitFrequency 设置为 True => system.webServer => httpCompression location.

问题是我看到在压缩文件夹下创建了文件夹,但其中没有文件。

我认为您看到的是预期的行为。

system.webServer\httpCompression\directory中的压缩文件将只存在于压缩的静态文件中,由 StaticCompressionModule 压缩并由 StaticFileModule 正常处理。

由 asp.NET 等应用程序框架处理的任何请求都不会按设计由 StaticCompressionModule 处理。它们可能由 DynamicCompressionModule 处理,但该模块不会将任何文件写入磁盘。

您可以通过创建一个大文件 test.html 来测试它,点击几次,压缩版本将显示在 temp\IIS Temporary Compressed Files 中,现在复制该文件的名称为test.aspx,打那个,不会被压缩

静态压缩仅适用于变化不大的静态文件,在磁盘上拥有动态页面的压缩版本没有意义,因为期望内容变化非常频繁。