質問

IE6 は、http ヘッダー経由で送信されるキャッシュ無効化の形式を無視するようです。プラグマをキャッシュなしに設定し、キャッシュの有効期限を現在時刻に設定しようとしましたが、IE6 では、バックボタンを押すと常にページのキャッシュされたバージョンが表示されます。取り組んでいます。

IE6 もリッスンする特定の HTTP ヘッダーはありますか?

役に立ちましたか?

解決

Cache-Control: private, max-age=0 それを修正する必要があります。従来の ASP では、これは次のように行われます。 Response.Expires=-1.

テストするときは、サーバーがキャッシュをオフにしてページを提供しているからといって、キャッシュしてもよいと言われた古いキャッシュされたページがあるときにブラウザがそれに従うわけではないことに注意してください。キャッシュをクリアするか、F5 キーを使用してそのページを強制的に再読み込みします。

また、サーバーがキャッシュされたコンテンツを提供している場合には、それを使用できます。 Ctrl+F5 キャッシュからサービスを提供しないようにサーバーに信号を送ります。

他のヒント

注意しなければなりません。XMLHttpRequest (XHR) 経由で AJAX を使用している場合、ヘッダーに設定されたキャッシュの「推奨事項」は ie6 では考慮されません。

修正するには、AJAX リクエストで使用される URL クエリに乱数を追加します。例えば:

http://test.com?nonce=0123 

これに適したジェネレータは、ユーザーのブラウザの一意のタイムタイムを返す UTC() 関数です。つまり、システムクロックをいじらない限り。

ヘッダーにETagを設定してみましたか?これらはコンテンツが変更されたことを示す非常に信頼できる方法です w3c仕様 & ウィキペディア

さらに、もう少し大雑把な方法は、現在の UNIX タイムスタンプなどのランダムなクエリ文字列パラメータをリクエストに追加することです。先ほども言いましたが、粗雑ではありますが、IE6 は最も繊細なものではありません

ちょっとしたメモ:経験上、IE6 では Ctrl-F5 でページを強制的に再読み込みしても、キャッシュから Javascript が読み込まれることがわかっています。したがって、JavaScript を使用している場合は、常にキャッシュを空にしてください。

IE Web 開発者ツールバーは、これに非常に役立ちます。キャッシュをクリアするボタンがあります。

「Content-Encoding:」のコンテンツ「Cache-Control:」を使用しても、「gzip」は常にキャッシュされます。キャッシュなし」

http://support.microsoft.com/kb/321722

IE6 だけで gzip を無効にすることもできます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top