ウェブサーバーの設定ミスにより、メインドメインが新しい場所に302リダイレクトを送信しました。その問題を修正しました。ブラウザのキャッシュを空にすると、すべてが正常に動作するようになりました。
キャッシュを空にしない「通常の」クライアントの場合:302リダイレクトはブラウザにどのくらい保持されますか?
デフォルトで各主要ブラウザ(Chrome、Firefox、Safari、Opera、Edge、IE 12))ごとに特定のキャッシュ時間(ある場合)を探しています設定。
Webサーバーから返されたCache-Control
またはExpires
ヘッダーもない限り、キャッシュされるべきではありません。 RFC 2616によると、セクション10.3.3 302が見つかりました
リクエストされたリソースは一時的に別のURIに存在します。リダイレクトは時々変更される可能性があるため、クライアントは今後のリクエストに引き続きRequest-URIを使用する必要があります(SHOULD)。この応答は、Cache-ControlまたはExpiresヘッダーフィールドで示されている場合にのみキャッシュ可能です。
ここでJon Linが参照する標準は、「SHOULD」を使用します。これは、RFC用語では 「MUST」ほど強くない です。これは単なる理論上の違いではありません。 Cloudflare、たとえば doescache redirects :
キャッシュヘッダーが提供されておらず(Cache-ControlまたはExpiresがなく)、URLがキャッシュ可能な場合(.jpg、.css、.jsなど)、CloudFlareは301と302の両方をキャッシュします。 301を数時間キャッシュし、302をより短い時間(〜20分)キャッシュします。
したがって、確実に処理できるようにするか、明示的なヘッダーを使用する必要があります(例:Cache-Control: private, no-cache
)ブラウザと中間体にキャッシュを指示しないようにします。
Steve Sounderの リダイレクトキャッシュテストツール (@LeonidVasilevに感謝)を使用すると、期待した結果が得られない可能性があります。有効期限ヘッダーやCookieがない場合、結果は次のようになります。
Chrome 71:キャッシュされません✔
Firefox 64:キャッシュ✕
Safari 12:キャッシュ✕
したがって、 RFC 2616、セクション10.3.3 302が見つかりました の状態にかかわらず、すべてのブラウザがこれらのガイドラインに従うとは限りません。
Firefox
bug 812167 ごとにキャッシュされるべきではありません
これは、個々のクライアントのブラウザキャッシング設定に依存します。IEには、新しいページを「絶対に」チェックするオプションがあり、リダイレクトに対して同じ効果があります。
そしてAFAIR IEの「自動」設定(デフォルト?)はそれほど良くありません。