cache-controlヘッダーを設定しないとどうなりますか?


13

cache-controlヘッダーを設定しないとどうなりますか?HTTPはクライアントが従うべきデフォルトの振る舞いを指定していますか、それともクライアントが決めるのですか?

Chromeでは、cache-controlヘッダーのないJavascriptリクエストがと表示されることがあり200 (from disk cache)ます。Chromeはこれを最適化していますか?

IEでは、それがとして表示されるのを見てきました304 (not modified)

これをよりよく理解するにはどうすればよいですか?


1
「キャッシュヘッダーなし」は、Cache-Controlヘッダーがないか、実際にはキャッシュヘッダーがないことを意味しますか?キャッシュ制御は、キャッシュに影響を与える唯一のヘッダーではありません。ほとんどのWebサーバーは、Javascriptファイルなどの静的アセットのLast Modifiedヘッダーを送信します。
Tim Fountain

回答:


18

Cache-ControlヘッダーもヘッダーもありませんExpiresが、Last-Modifiedヘッダー(ほとんどのWebサーバーが静的アセットに対してデフォルトで送信するヘッダー)がある場合、ほとんどのブラウザーヒューリスティックな鮮度を使用して、そのアセットをキャッシュする期間を決定します。

これの一般的な計算(これはRFC 7234で提案されているもの)は次のとおりです。

(current time - last modified time) / 10

したがって、たとえば、画像の最終更新時刻が60日前に最後に変更されたことを示している場合、ブラウザは、新しいバージョンを確認する前に、その画像のローカルキャッシュバージョンを6日間合理的に使用できると判断する場合があります。

ほとんどの場合、更新を押す、ブラウザーに新しいバージョンをフェッチするように指示することに注意してください。その場合、このロジックは適用されません。


1
そして、Last-Modifiedヘッダーがない場合はどうなりますか?
bertonc96
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.