41

ウェブサーバーの設定ミスにより、メインドメインが302リダイレクトを新しい場所に送信しました。その問題を修正しました。ブラウザのキャッシュを空にすると、すべてが正常に機能するようになります。

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

デフォルト設定で、主要なブラウザ(Chrome、Firefox、Safari、Opera、Edge、IE 12)ごとに特定のキャッシュ時間(ある場合)を探しています。

4

6 に答える 6

39

Web サーバーから返されたCache-Controlorヘッダーがない限り、キャッシュするべきではありません。ExpiresRFC 2616 によると、セクション 10.3.3 302 Found

要求されたリソースは、一時的に別の URI に存在します。リダイレクションは時々変更される可能性があるため、クライアントは今後のリクエストに引き続き Request-URI を使用する必要があります。この応答は、Cache-Control または Expires ヘッダー フィールドで示されている場合にのみキャッシュ可能です。

于 2012-08-31T09:53:33.650 に答える
20

ここで Jon Lin が参照している標準では、RFC 用語の「MUST」ほど強力ではない「SHOULD」を使用しています。これは単なる理論上の区別ではありません。たとえば、Cloudflareキャッシュ リダイレクトを行います。

キャッシュ ヘッダーが提供されず (Cache-Control または Expires が指定されていない)、URL がキャッシュ可能 (.jpg、.css、.js など) である場合、CloudFlare は 301 と 302 の両方をキャッシュします。301 を数時間キャッシュし、302 を短い時間 (~20 分) キャッシュします。

したがって、それを処理できることを確認するか、明示的なヘッダー (例: Cache-Control: private, no-cache) を使用してブラウザーと中間体にキャッシュしないように指示する必要があります。

于 2015-04-13T17:37:46.717 に答える
0

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

于 2012-08-31T09:53:06.053 に答える