2016-07-28 24 views
1

IISで提供されているHTTP圧縮を使用して、自分のサイトの静的および動的コンテンツをgzipできます。私はgzipされたコンテンツがブラウザに返されたことを確認します(応答ではContent-Encodingヘッダーはgzipを表示しています)。すべての私のアプリケーションプールはネットワークサービスIDを使用しており、圧縮フォルダ(D:\ Compression)をネットワークサービスにフルコントロールしています。 Configuration Editor => system.webServer => httpCompressionの場所で、staticCompressionIgnoreHitFrequencyをTrueに設定しました。HTTP圧縮ファイルがありません

問題は、圧縮フォルダの下にフォルダが作成されているが、その中にファイルがないことがわかります。

+0

FREBを使用して、静的圧縮が期待どおりに機能しない理由を調べます。[my answer](http://stackoverflow.com/questions/38638490/gzip-not-working-server-2012-iis-8/38639574)を参照してください。 #38639574) –

+0

ありがとう@PeterHahndorf。私は失敗したリクエストログを参照し、理由はNO_MATCHING_CONTENT_TYPEであることがわかりました。わからない、なぜ私はそれを得ていますか?私は既に、applicationHost.configファイルの静的セクションと動的セクションの両方で 'text/*' mimeタイプを有効にしています。テストするだけで、私は '*/*'も有効にしましたが、まだそのエラーが出ています。これらの変更を加えた後、IISを再起動しました。 –

+0

申し訳ありません@PeterHahndorf。私はaspxページにアクセスしていることを忘れてしまったので、クライアントに返されたときにMIMEタイプとしてtext/htmlを持つため、これは問題ではありません。 –

答えて

0

あなたが見ているのは予想される動作だと思います。

system.webServer\httpCompression\directoryの圧縮ファイルは、StaticCompressionModuleによって圧縮され、通常はStaticFileModuleで処理される圧縮された静的ファイルに対してのみ存在します。

asp.NETなどのアプリケーションフレームワークで処理される要求は、StaticCompressionModuleによって処理されません。それらはDynamicCompressionModuleによって処理されるかもしれませんが、そのモジュールはディスクにファイルを書きません。

これをテストするには、大きなファイルtest.htmlを作成し、数回ヒットします。圧縮されたバージョンがtemp\IIS Temporary Compressed Filesに表示されます。test.aspxという名前のファイルのコピーを作成します。圧縮されません。

静的圧縮はあまり変更されない静的ファイルに対してのみ行われ、動的ページが圧縮されたディスクをディスクに格納することは意味がありません。

+0

ありがとう@Peter Hahndorf。 system.webServer \ httpCompression \ディレクトリに静的および動的gzippedコンテンツの両方を保存すると誤って考えました。私は答えを投票しようとしましたが評判はあまりありません。 –

関連する問題