8

私は次の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>

計画ではダイナミック圧縮が許可されない可能性があります

問題は、cssまたはjsを要求すると、IISがGZIPで応答し、vary:accept-encodingを追加する場合と、CSSまたはJSを圧縮しない場合で、ある種のランダムなパターンが見つからないことです。

www.mysite.comにアクセスする場合でも、私は常にCTRLF5を試します。cssとjsはランダムに圧縮されているかどうかは関係ありません。

注意:NetworkSolutionでホストされています。

構成またはIISの何が問題になっていますか。

ありがとう

4

1 に答える 1

17

多くの検索を行った後、IIS7.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時間に1回ファイルをヒットするように設定しました。必要に応じて値を調整できます。serverRuntime要素を説明するドキュメントは次のとおりです。

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

これが圧縮を適切に機能させるのに役立つことを願っています。

于 2013-03-25T23:55:40.933 に答える