0

私の意見では、ページ A からページ B を閲覧するときに、B ページが A ページに同じ js/css/img/etc リソースを持っている場合、ブラウザは同じセッションにあるため、A ページからのキャッシュを使用する必要があります。 304 リクエストになります (リソースに有効期限が設定されている場合、リクエストは行われません)。

しかし、今日、私は質問に出くわしました。

Firefox でページ A を閲覧すると、firebug のウォーターフォールは

ページAの滝

しかし、リンクをクリックしてページ B に移動すると、firebug のウォーターフォールは

ここに画像の説明を入力

js/css は 302 リクエストではなく、サーバーからダウンロードされたままです。

私の Firefox のバージョンは 4.0.1 で、キャッシュは無効になっていません。

この動作は Firefox で正しいですか?

4

2 に答える 2

3

304 Not Modifiedあなたは応答を意味します。

同じ URI への前の要求が適切なキャッシュ ヘッダーで応答された場合にのみ、ブラウザーによって発行される条件付き要求でのみその応答を取得します。

たとえば、HTTP CachingA Beginner's Guide to HTTP Cache Headersなどを参照してください。

于 2013-10-17T08:13:19.857 に答える
1

この問題を解決するには、キャッシュ制御ヘッダーを追加します。@CodeCaster のアドバイスのための Thx。

私の状況では、すべての js/css は Apache からダウンロードされます。これらの静的コンテンツの有効期限ヘッダーを設定しました。

ただし、この古いバージョンの Firefox では、expires タグを無視する奇妙なリクエストがトリガーされるようです。

于 2013-10-17T12:23:04.877 に答える