IIS 7.5静态内容压缩(不一致)

时间:2013-03-19 12:48:22

标签: iis iis-7.5 gzip http-compression

我有以下web.config:

<urlCompression doStaticCompression="true" />
        <httpCompression>
            <dynamicTypes>
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/javascript" enabled="true" />
                <add mimeType="*/*" enabled="false" />
            </dynamicTypes>
            <staticTypes>
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/javascript" enabled="true" />
                <add mimeType="*/*" enabled="false" />
            </staticTypes>
        </httpCompression>

5月计划不允许动态压缩

问题是,当我请求css或js时,IIS用GZIP响应并添加vary:accept-encoding有时和其他时间不压缩CSS也没有JS,我找不到它是某种随机的模式。

我总是尝试CTRL F5,即使你访问www.mysite.com css和js是随机压缩的。

NB:托管在NetworkSolution上。

我的配置或IIS出了什么问题。

由于

1 个答案:

答案 0 :(得分:15)

经过大量搜索,我终于找到了什么让我的IIS 7.5上的压缩工作更加一致。 首先,IIS不会压缩文件,除非它经常加载。这提出了一个问题“IIS经常考虑什么?”嗯,默认值是每10秒2次。糟糕!

可以在web.config中更改此设置,但需要先在applicationHost.config中解锁该部分。以下是命令:

首先解锁该部分:

  

C:\ Windows \ System32 \ inetsrv \ appcmd.exe解锁配置   /section:system.webServer/serverRuntime

     

配置路径“MACHINE / WEBROOT / APPHOST”处的未锁定部分“system.webServer / serverRuntime”。

现在完成了,编辑web.config文件

<?xml version="1.0" encoding="UTF-8"?> <configuration>
    <system.webServer>
        <serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="10:00:00" />
        ...

在这种情况下,我将其设置为在10小时内点击一次文件。您可以根据需要调整值。这是解释serverRuntime元素的文档:

http://www.iis.net/configreference/system.webserver/serverruntime

我希望这有助于让您的压缩正常工作。