如何启用IIS7来gzip静态文件,如js和css,如何在发送到客户端之前测试IIS7是否真正gziping它们?
我已经为IIS7安装了静态和动态压缩,并web.config在我的应用程序Virtual Folder级别设置了两个值.据我了解,我不再需要在服务器或站点级别启用压缩,我可以使用我的web.config文件在每个文件夹的基础上管理它.
我的.config文件中有两个设置,我已经设置为我的应用程序自定义gzip:
<httpCompression dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="0">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<remove mimeType="*/*"/>
<add mimeType="*/*" enabled="true" />
</dynamicTypes>
</httpCompression>
<urlCompression doDynamicCompression="true"
dynamicCompressionBeforeCache="true" />
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,我可以清楚地看到没有使用gzip,因为我的页面大小是相同的.我也在使用YSlow for FireFox,这也证实我的页面没有被gziped.
我在这里错过了什么?在IIS6中,只需指定文件类型,并将压缩级别设置在0-10之间即可.我没有记录需要记录指定文件类型或压缩级别,因为默认值似乎涵盖了文件类型,我没有在任何地方看到级别.
我想使用GZIP压缩我的文件.你能分享使用GZIP压缩文件的web.config代码吗?
上传我的web.config文件后还有什么需要做的吗?
如何在Windows 10开发者PC上启用IIS 10.0中的失败请求跟踪?
我可以找到IIS7和IIS8.5的说明(参见http://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis-85)但似乎在IIS10中不可用.
根据上述说明,"操作"窗格中的"配置"下应该有一个"失败的请求跟踪"链接 - 但是在屏幕截图中看到它显然不存在: IIS操作窗格的屏幕截图
我创建了默认的MCV4网站,并在默认网站下的widows 8系统中的本地IIS8中托管.
http://localhost/MyWesite
Run Code Online (Sandbox Code Playgroud)
在IIS管理器"压缩"中启用动态内容压缩和静态内容压缩.还禁用了压缩的文件大小限制,因此所有js文件大小都被认为是压缩(仍然没有发生gzip压缩)
这是唯一的系统级gzip配置吗?
接下来我尝试做网站级别的更改.我还在C:\ Windows\System32\inetsrv\config中编辑了applicationHost.config文件,下面是我做的更改
<section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)
在web.config文件中,我添加了以下内容
<system.webServer>
<httpCompression>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="image/jpeg" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="image/jpeg" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="4" />
</httpCompression>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
在这之后我重新启动iis以防万一.在加载网页时,没有js文件或html文档被gziped.
gzip ×4
compression ×3
iis ×2
iis-7 ×2
.net-3.5 ×1
asp.net ×1
iis-10 ×1
trace ×1
web-config ×1