webdevqa.jp.net

特定のJavascriptおよびCSSファイルのキャッシュ

いくつかの特定のJavaScriptおよびCSSファイルをキャッシュするにはどうすればよいですか。このサイトから、これを.htaccessファイルに入れるためのアドバイスを見つけました

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

しかし、それは不完全です。 .htaccessとは何ですか。また、Webルートフォルダーにどのように作成し、どこに保存しますか?

次のステートメントの意味は何ですか。

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

すべてのJavascriptファイルとCSSファイルをキャッシュしたくはありませんが、変更されない特定のファイルをいくつかキャッシュしたいと思います。

これどうやってするの?

12
Keith Costa

拡張子で特定のファイルをキャッシュするようにIISを構成できます。例:

Css/jsファイルが存在するフォルダーを選択し、[出力キャッシュ]をクリックします。 enter image description here

次に、キャッシュするファイル拡張子を追加します。

enter image description here

Httpを書かない限り、ファイルごとにキャッシュするものを指定することはできないと思います。 ハンドラ モジュールは、各ファイルに個別に適切なヘッダーを追加しますが、IISからこれが行われる方法です。

次に、firebug/fiddlerまたは選択したツールを使用して、304の応答を取得していることを確認できます。

これがお役に立てば幸いです。

25
Icarus

とにかくファイルリビジョンを追加してIIS cache css + jsファイルを作成します。Icarusが指定したように。

次に、サーバー上のファイルを更新する場合は、新しいリビジョン番号を追加するだけで、これもタイムスタンプになる可能性があります。

1
cristobal
  1. AddOutputFilter DEFLATE:出力はサーバーに送信される前に圧縮されます(通常はgzip)。この場合はcss & jsあなたのcssとjsです。
  2. ExpiresActive On:Expiresとキャッシュ制御ヘッダーをOnに設定します
  3. ExpiresByType:この場合のコンテンツタイプの有効期限ルールをapplication/x-javascriptから月A2592000 => 24 * 3600 * 30msで設定します。

.htaccessを介して特定のjsを処理する代わりに、jsファイルにリビジョン番号を追加することをお勧めします。

<script src="link/to/file.js?rev=xxx"></script>

次に、ファイルを更新するときに、リビジョン番号を更新するだけです。また、クライアントには新しいファイルが自動的に提供されます。

リソース:

0
cristobal