2012-08-31 9 views
11

私たちのウェブサーバが誤って設定されているため、メインドメインは新しい場所に302リダイレクトを送信しました。私たちはその問題を修正しました。ブラウザのキャッシュを空にすると、すべて正常に動作します。302リダイレクトはどのくらいブラウザに保存されますか?

キャッシュを空にしない "通常の"クライアントの場合:302リダイレクトはブラウザにどのくらい保存されますか?

答えて

14

Webサーバーから返されたCache-ControlまたはExpiresヘッダーがない限り、キャッシュされてはなりません。 RFC 2616, section 10.3.3 302 Found

要求されたリソースは一時的に別のURIの下に存在します。リダイレクトは機会に変更される可能性があるため、クライアントは今後のリクエストでRequest-URIを使用し続けるべきです(SHOULD)。この応答は、Cache-ControlまたはExpiresヘッダーフィールドで指定された場合にのみキャッシュ可能です。

+2

ありがとうございました。私のデフォルトのテストブラウザ(Chrome)のように見えます。http://code.google.com/p/chromium/issues/detail?id=103458(Chromeキャッシュ、その他ではありません) –

+3

@OleAlbers (私のインターネットが死ぬ前に)メモを使って私の答えを編集してください。RFCはクライアント**が元のURIを使い続けるべきだと言っていますが、すべてのブラウザがそうであるとは限りません。ケースバイケースで –

0

個々のクライアントのブラウザキャッシュ設定に依存します:IEでは、新しいページを「絶対に」チェックするオプションがありません。リダイレクトにも同じ効果があります。
AFAIR IEの「自動」設定(デフォルト?)の方があまり良くありません。

9

ここでJon Linが参照している標準はRFC SHOULD(RFC lingoのnot as strong as "MUST")を使用しています。これは単なる理論的な違いではありません。例えばCloudFlareの、does cache redirects

ないキャッシュヘッダが(なしのCache-Controlまたは有効期限)が提供されていない場合と URLは(.JPG、の.css、.jsファイルなど)をキャッシュ可能である次にCloudFlareは両方 をキャッシュ301および302を含む。 の時間が短い場合(約20分)、302時間と302時間キャッシュします。

だからあなたはあなたがそれを処理するか、それをキャッシュに対して直接ブラウザおよび中間体への明示的なヘッダ(例えばCache-Control: private, no-cache)を使用できることを確認しなければならないのいずれか。

+0

うん、これは私にとっては問題だった。キャッシュコントロールを指定しないと、キャッシュされたリダイレクトが発生していた。ただし、キャッシュなしのヘッダーを指定する方法については、このスレッドを参照してください。https://stackoverflow.com/questions/49547/how-to-control-web-page-caching-across-all-browsers –

関連する問題