web-dev-qa-db-ja.com

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

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

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

IEでは、304 (not modified)として表示されます。

これをどのようによく理解できますか?

8
Nishant

Cache-ControlヘッダーおよびExpiresヘッダーはないが、Last-Modifiedヘッダー(ほとんどのWebサーバーはデフォルトで静的アセットに送信する)がある場合、 ほとんどのブラウザー =は、発見的鮮度を使用して、そのアセットをキャッシュする期間を決定します。

これの典型的な計算(これは RFC 7234 によって提案されたものです):

(current time - last modified time) / 10

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

ほとんどの場合、更新を押すと、ブラウザが新しいバージョンを取得するためにtellingになるため、この状況ではこのロジックは適用されません。 。

11
Tim Fountain