web-dev-qa-db-ja.com

IIS 7で有効期限を設定する

アプリケーションの静的ファイルの有効期限をIIS 7.で設定する必要があります。以下のダイアログを使用して:10日に設定しました。

enter image description here

しかし、ChromeのPageSpeedアドオンを使用してページ分析を見ると、ファイルに有効期限がないことがわかります。

enter image description here

アプリケーションの構成でも何か他のことをする必要がありますか?

2
anilca

Web.configのstaticContent要素を確認してください。

  <system.webServer>
    <!-- StaticContent requires that the machine config section be unlocked: appcmd unlock config /section:staticContent-->
    <staticContent>
      <clientCache cacheControlCustom="private" cacheControlMode="UseMaxAge" cacheControlMaxAge="0.02:00:00" />
    </staticContent>
  </system.webServer>

http://msdn.Microsoft.com/en-us/library/ms689506%28v=vs.90%29.aspx

http://www.iis.net/configreference/system.webserver/staticcontent/mimemap

2
Greg Askew

This 設定IISは、返されるページの有効期限を制御しますが、ページに含まれ、ロードしようとする他のリソース(この場合は外部JSファイル)は制御しません。有効期限が表示されているページの有効期限タグを確認してください。

あなたが見ているIIS設定は、応答ストリームの直接の一部ではない他のファイルの有効期限を制御しません。JSファイルでは、なぜとにかく10日後にそれらを期限切れにしようとしているのですか?ブラウザは、それらが現在のバージョンではなくなったことを認識し、最新のものをダウンロードする必要があります。そうでない場合は、HTTP 304 Not Modifiedが表示され、ローカルにキャッシュされたコピーが使用されます。

1
Brent Pabst