SITE 的 IIS 配置编辑器部分缺少 httpCompression

httpCompression missing from IIS configuration editor section for SITE

我正在尝试在我的网络服务器上启用 gzip 压缩。我已经在服务器上安装了动态压缩模块并在 IIS 中启用了它。现在我正在尝试指定 dynamicTypes 以包含 application/json。我遵循了 these 个步骤。我在 server 级别成功添加了动态类型。当我检查我的应用程序时,我注意到响应 headers 仍然没有包含 gzip。然后我回到 IIS 以确认服务器上的配置编辑器设置已为我的站点继承。在 site 级别,我在 system.webServer 部分下的下拉列表中没有看到 httpCompression 节点。 IIS10 的一位同事(我有 IIS8)能够看到 system.webServer/httpCompression 节点。

知道为什么我看不到那个节点吗?我认为这是导致 gzip 在我的设置中不起作用的原因。

你没看到真奇怪。尝试重新安装压缩模块(动态和静态)。除此之外,请确保您的 system.webServer

下有以下内容
<urlCompression doDynamicCompression="true" doStaticCompression="true" />

我刚刚弄清楚问题出在哪里。首先,IIS 版本(在我的例子中是 IIS6 和 IIS10)之间似乎存在差异,因为一些(较新的)版本在站点上有一个 system.webServer/httpCompression,而不仅仅是服务器。我认为这就是动态缓存 似乎 在我们的开发服务器上不起作用但在装有 IIS10 的同事机器上起作用的原因。

原来我在响应中没有看到 gzip 编码参考的原因 headers 是因为 IE,确切地说是 IE10。我们的开发环境目前存在证书问题,您只能在 IE 中打开应用程序。我有 IE10,它似乎没有显示有关压缩编码响应 headers 的任何信息。我让我的 IE11 同事在开发环境中访问了我们的应用程序,他在响应中看到了 gzip 编码参考 headers。

这就是我讨厌 IE 的原因...