9

Google PageSpeedとYSlowを使用してサイトをテストしていますが、MVC4バンドルを使用して作成したバンドルが取得されません。

Gzip圧縮(gzipまたはdeflateを使用してリソースを圧縮すると、ネットワーク経由で送信されるバイト数を減らすことができます)、

Vary:Accept-Encodingヘッダー(1つは圧縮、もう1つは非圧縮の2つのバージョンのリソースをキャッシュするようにプロキシサーバーに指示します。これにより、Content-Encodingヘッダーの存在を適切に検出しないパブリックプロキシの問題を回避できます。)

また、ISSのスクリプトフォルダ全体にエンコーディングヘッダーを追加するにはどうすればよいですか。HTTP応答ヘッダーがあることを知っているので、カスタムHTTP応答ヘッダーを追加します。

ここに画像の説明を入力してください

ただし、これはスクリプトフォルダーとサブフォルダー全体、および[名前]フィールドと[値]フィールドに何を入力するかで機能します。

どうすればこれを解決できますか。

よろしく。

4

4 に答える 4

11

web.configのsystem.webserverセクションで次のように設定してください

<urlCompression doDynamicCompression="true"
                    doStaticCompression="true" dynamicCompressionBeforeCache="true" />
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge"
                   cacheControlMaxAge="365.00:00:00" cacheControlCustom="public" />
    </staticContent>
于 2012-08-30T20:48:55.787 に答える
3

OK良いQ、問題のテストを簡単にします。次のロジックを試してください。

  public HttpResponseMessage Get(){

         var request=Request.CreateResponse(HttpStatusCode.OK);
         request.Content.Headers.Add("Content-Type", "application/x-gzip");
         request.Content.Headers.Add("Content-Encoding", "gzip");

    //TODO:Add your logic here...

         return request;
    }
于 2012-09-05T06:09:39.260 に答える
3

IIS上のJavaScriptファイルを適切に圧縮してGZipエンコーディングで提供するには、web.configに次のように入力します。

 <staticContent>

      <remove fileExtension=".js" />
      <mimeMap fileExtension=".js" mimeType="text/javascript" />

      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
    </staticContent>

    <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
    <httpCompression noCompressionForHttp10="false" noCompressionForProxies="false" dynamicCompressionDisableCpuUsage="93" dynamicCompressionEnableCpuUsage="93" staticCompressionDisableCpuUsage="99" staticCompressionEnableCpuUsage="99">
      <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" dynamicCompressionLevel="4" />
    </httpCompression>
</system.webServer>

そして、MIMEタイプのISSで

ここに画像の説明を入力してください

application/x-javascripttext/javascriptに変更します

ここに画像の説明を入力してください

これで、DevToolsの[コンテンツエンコーディング]列にJSファイルがgzipで提供されていることがわかります。

ここに画像の説明を入力してください

于 2013-10-17T09:06:00.517 に答える
1

IIS Dynamic Content Compressionは、少なくともgzipを処理する必要があると思います。おそらく、このすべての機能を試してみましたか?

このmsdnの記事は役立つかもしれません

于 2012-08-29T21:36:47.893 に答える