修改web.config来开启Gzip压缩

IIS 7.0之后引入的一个IIS配置文件,详细内容参考官方链接http://www.iis.net/learn/get-started /planning-your-iis-architecture/introduction-to-applicationhostconfig

该文件的的位置%windir%\system32\inetsrv\config

http压缩的相关配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
     
    <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
      <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
      <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="*/*" enabled="false" />
      </dynamicTypes>
      <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="*/*" enabled="false" />
      </staticTypes>
    </httpCompression>
     
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
     
  </system.webServer>
</configuration>

<httpCompression>节点用于配置静态压缩和动态压缩,<urlCompression>则用于开关 http压缩。IIS 7.0默认开始静态压缩而关闭动态压缩,IIS 7.5及之后版本则默认开启静态压缩和动态压缩。将urlCompression节点的doStaticCompression和 doDynamicCompression属性设为true即为开启压缩。在设置完成之后,重启IIS,之后去前台测试,发现700KB的js文件压缩到 了300KB,效果还是不错的。

需要注意的是,ApplicationHost.config里面的配置是IIS的全局配置,会影响所有的网站。如果只想为某个网站开启http压 缩,可通过修改ApplicationHost.config下httpCompression配置,将overrideModelDefault属性设 置Allow,允许它在每个网站的web.config里面重新配置(urlCompression默认已经允许在web.config里重新配置)。

<section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

 

posted on 2016-04-22 17:38  邬兴亮  阅读(872)  评论(0编辑  收藏  举报

导航