2012-02-13 6 views
2

Firebugで自分のサイトをチェックしました。ページをリロードするたびに、すべてのリソースが再度読み込まれます。 (私はブラウザで「リロード」をクリックするのではなく、ホームページにつながるホームページのリンクを使用しています)ブラウザでリソースがキャッシュされない

例を選んでください:base.cssは毎回私が「200 ok」ステータスを返しますページを読み込みます。

The response header says: 
Cache-Control max-age=5184000, private 
Last-Modified 10 Feb 2012 20:00:00 GMT 

これまで読んできたことすべてから、ブラウザでこのファイルをキャッシュするには十分であるはずです。

2つの異なるマシン上で2つの異なるバージョンのFirefoxでこれを確認しましたが、同じ結果が得られました。

ブラウザにファイルをキャッシュさせるために欠けているものは何ですか?

about:cacheについては、ブラウザがbase.cssをディスクキャッシュに入れて、ページをリロードするたびにフェッチカウントをインクリメントすることがわかりました。火かき棒は私のいたずらをしていますか?

+0

ブラウザが取り込むサンプルURLを投稿したい場合があります。フレームワークは、キャッシングをスキップするためにキャッシュバスターパラメータをURLに追加することがあります。 – dbrin

+0

@DmitryBこのサイトは[www.yogasearch.de](http://www.yogasearch.de)です。 – yogi

答えて

0

私はブラウザに表示されているもののスクリーンショット(下記を参照、またはこのURL http://i.stack.imgur.com/eT0gU.pngをクリック)を添付しました。いくつかのキャッシング(widget76.cssのような)がありますが、あなたが言ったようにbase.cssはキャッシュされません。

  1. ベースのCSSファイルがキャッシュ・コントロールにマークされています:プライベート

    は私が観察物事のカップルがあります。私はそれが代理人のためであることを知っているが、決して少なくない。

  2. ベースCSSはHTMLヘッダーに明示的には含まれていませんが、別のCSSファイルからインポートされています(おそらく関連性がありません)。
  3. widget76.cssには、効率的なキャッシュ戦略を可能にする「If-Modified-Since」ヘッダーhttp://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlがあります。画像の中に見えるが、これはリクエストヘッダが持っているものであることはできません。

    変更した場合は--ので:水曜日、2012年2月1日12時31分58秒GMT

    のCache-Control:最大エージング= 0

したがって、すべての点で違いがあるのは、If-Modified-Sinceヘッダーがないと思います。

Firefox Net tab of CSS resources

0

私のinital問題への答えはかなり簡単です:firebugsネットワーク分析のデフォルト・モードでは 「BFCache回答が」有効になっています。その効果は、キャッシュへのリクエストがリストに表示され、これがサーバーから来ているという印象を与えます。

助けてくれてありがとう、DmitryB!

関連する問題