2012-01-06 15 views
0

私は更新作業中のウェブサイトでキャッシュに問題があります。私が更新したリソース(javascript、css、およびイメージファイル)の多くは、ブラウザによってローカルにキャッシュされているようです。私が理解できないのは、私が編集したすべての名前を変更することができない理由(これは非常に魅力的な解決策ではありません)です。ブラウザのリソースキャッシュ(画像、JavaScript、CSS)

サーバーがhttpヘッダーで次のものを生成しています。

Date Fri, 06 Jan 2012 00:09:32 GMT 
Server Apache/2.2.16 (Amazon) 
X-Powered-By PHP/5.3.5 
Expires Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma no-cache 
Content-Length 3636 
Connection close 
Content-Type text/html; charset=UTF-8

キャッシュ制御ディレクティブからわかるように、リソースはキャッシュしないでください。これにもかかわらず、私は変更をアップロードした後で更新されていない画像、CSS、およびJavaScriptファイルを取得しています。

私はこのやベストプラクティスをどのように解決できますか?

答えて

0

これを少し進んだ後、私はキャッシュされたすべてのリソースをバージョン管理されたフォルダ(つまり、css-1.2.1、js-1.2.1など)に配置することに決めました。サイトを更新するたびに、バージョン番号を増やすだけです(すべてのバージョン番号を同期させています)。これはキャッシュの最適化の点で最適ではありませんが、すべてのリソースの個別のバージョン番号を追跡する必要はありません。私は4時間ごとにサイトを更新しないので、サイトを更新するたびにユーザーが新しいリソースセットをダウンロードする必要があることを意味します。