2012-02-18 12 views
3

私はApacheとそのさまざまなモジュールについて学んでいますが、現在私はmod_expiresについて混乱しています。私がこれまでに読んだのは、このモジュールを使うことで、静的ファイルの将来の期限切れヘッダーを設定して、ブラウザが毎回要求する必要がないことです。mod_expires in apache htaccess

私は、ある人がcss/jsやイメージファイルを間に入れ替えた場合、ブラウザがこれについて次のように変更するつもりはない1年。事前

+0

[キャッシュの最適化](http://code.google.com/speed/page-speed/docs/caching.html)に関するこのGoogleの記事は、このテーマの概要です。 – TerryE

答えて

2

おかげでそれはあなたのHTTPサーバ上のすべてのコンテンツ提供は可能ではないかもしれないが、あなたは、単にサーバーからクライアント側のファイルを更新するには、ファイルの名前を変更することができます。その時点で、ブラウザは新しいコンテンツをダウンロードします。

トラフィックが少ないウェブサイトでは、キャッシュをはるかに低い値に設定する方がはるかに機能します。

有効期限は常に365日にしてください。有効期限を1年に設定しても、必ず実行する必要はありません。言い換えれば、早すぎる最適化に陥ることはありません。

キャッシュの有効期限を1年に設定する良い例は、変更されにくい国のフラグです。また、ページの単純なブラウザリフレッシュでは、クライアントはローカルキャッシュを破棄して、元の場所からコンテンツを再度ダウンロードできることに注意してください。

これをすべてテストするには、FirebugでFirefoxを使用するのが良い方法です。この拡張機能を使用すると、要求と応答を分析できます。

ここにはRFCの仕様があります。

+0

追加するだけです。ブラウザには、ファイルが変更されたかどうかをサーバに問い合わせる方法もあります。 If-Modified-Sinceヘッダーを使用してこれを行います。このように、ファイルが変更されていない場合、ブラウザはファイルを再度ダウンロードせず、ローカルキャッシュを使用します。 Expiresヘッダと比較して(マイナーな)マイナス面は、このチェックを行うためにブラウザがサーバに接続しなければならないことです。これには少し時間がかかります。 – Gerben

関連する問題