静的ファイルの圧縮は動的に処理されますが、ファイルはIIS によって使用頻度が低いと見なされます。ファイルが頻繁に使用されると見なされると、圧縮されてキャッシュされます。キャッシュされたバージョンは、頻度が低くなるまで引き続き提供されます。頻繁に使用するファイルを構成するために IIS で使用できる構成設定は 2 つあります。
system.webServer/serverRuntime:
frequentHitThreshold
: 頻繁にキャッシュされたと見なされる前に、同じファイルを何回要求する必要がありますか? デフォルトは 2 です。
frequentHitTimePeriod
: キャッシュするために、同じファイルを {frequentHitThreshold} 回要求する時間間隔。デフォルトは 10 秒です。
設定したfrequentHitTimePeriodに関係なく、1分後にリクエストされない場合、頻繁なファイルは常に頻度が低くなることに注意してください. 構成にこれの設定があるかどうかはわかりません。
たとえば、1 に設定frequentHitThreshold
すると、最初の要求であっても、ファイルは常に IIS によって頻繁に使用されると見なされます。これは、動的圧縮をバイパスし、静的圧縮によってのみ処理されます。
staticCompressionIgnoreHitFrequency
または、trueに設定して、ヒット頻度を完全にバイパスすることもできます。
appcmd set config -section:system.webServer/httpCompression /staticCompressionIgnoreHitFrequency:"True"
動的 (デフォルト 0) 圧縮と静的 (デフォルト 7) 圧縮の圧縮レベルは異なるため、2 つの異なるファイル サイズが返されることに注意してください。
また、これが最初にこの問題に巻き込まれた理由です。同じファイルの ETag は、両方に同じレベルを使用していても、動的圧縮と静的圧縮で異なります。
お役に立てれば。