XMLHttpRequestを作成し、ブラウザがレスポンスをキャッシュすると、HTTPレスポンスヘッダーもキャッシュされますか?つまり、次回同じ要求をしたときに同じ値をresponse.getResponseHeader
から返すのでしょうか?XMLHttpRequestsは応答ヘッダーをキャッシュしますか?
このブラウザは依存していますか?
XMLHttpRequestを作成し、ブラウザがレスポンスをキャッシュすると、HTTPレスポンスヘッダーもキャッシュされますか?つまり、次回同じ要求をしたときに同じ値をresponse.getResponseHeader
から返すのでしょうか?XMLHttpRequestsは応答ヘッダーをキャッシュしますか?
このブラウザは依存していますか?
ヘッダーはキャッシュされないか、再利用されません。要求が送信されるので、ヘッダが受信され、この要求がキャッシュ内で有効である場合にのみ、ヘッダを決定することができる。新しいヘッダーは既にダウンロードされているので、古いヘッダーを再利用する必要はありません。
応答本文のみがキャッシュされます。
これは非常に簡単にテストすることができます。静的リソース(imgまたはtxtファイルなど)にXHRリクエストを行い、Date
ヘッダーを確認します。
ブラウザに依存しないと思います。 HTTPヘッダをキャッシュして再利用するブラウザは非常に奇妙なものです。
編集
jQueryのは、並べ替え-のでしょう、あなたの質問に答える(非常に迷惑)要求を、GETする(デフォルトでは、私は思う)抗キャッシュ引数を追加します。何もそのようにキャッシュされません。
しかし、すべてのXHRが実際にサーバーに要求しますか?キャッシュされたイメージやスタイルシートにリンクすると、ブラウザはサーバーと通信しなくてもそれを再利用することがあります。これはXHRで決して起こることはありませんか? –
特にリクエストを行うと、ブラウザはそのリクエストを行います。画像やスタイルシートでは、特にその要求をしません。絶対に100%確実にしたいなら、jQueryのようにキャッシュなしの引数を追加できます: 'page.html?_ = 324832475934' – Rudie
少なくとも、主要なブラウザはヘッダーをキャッシュしようとしません。ただし、キャッシュを完全に防止したい場合は、特別なヘッダーを送信する必要があります。あなたはキャッシュ動作の簡単なテストをしたい場合は、こちらのページがあります:
http://www.mnot.net/javascript/xmlhttprequest/cache.html
は、そして、あなたが実際に何が起こっているか確認したい場合、私はあなたがそのようなWiresharkのようなパケットスニファを取りに行くと見ることを、お勧めしますあなた自身のための。キャッシュされた本体を提供しても、ブラウザが少なくともXmlHttpRequestのHEAD要求を実行するとは思うが、間違っている可能性がある。
あなたは間違っていません。ヘッダーはキャッシュがまだ有効であることを知る必要があります。 – Rudie
試しましたか? –