0

セクション14.9.3。「HTTP 1/1. 仕様」のCache-Control: max-age ヘッダー フィールドの動作が記述されています。特に、次のように述べています。

「キャッシュされた応答に max-age キャッシュ制御ディレクティブが存在する場合、そのリソースの新しい要求時に現在の経過時間が (秒単位で) 指定された経過時間よりも大きい場合、応答は古くなります」

応答の「現在の年齢」(仕様で使用されている) はどのように測定されますか? 現在の時刻と次の時刻の差として測定されますか?

  1. Date: レスポンスのヘッダーの値
  2. Last-Modified: レスポンスのヘッダーの値
  3. 応答がキャッシュに入れられた時刻 (a および b とは異なる場合があります)

?

4

2 に答える 2

1

http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p6-cache-24.html#header.ageを参照して、リビジョンがより明確になるかどうかを確認してください。

于 2013-09-27T06:42:44.637 に答える
0

「キャッシュ制御: max-age は、HTML を出力するときにも役立ちます。PHP によって生成されたページが、それほど頻繁には変更されず、1 日に 1 回またはそれ以上変更されたと想像してみてください。しかし、ブラウザは、ページを表示するたびに HTML をダウンロードする必要があります。それを改善することができます。 PHP で max-age 値を送信することにより、 header('Cache-Control: max-age=28800');

このようにして、望ましいキャッシュの有効期間を 8 時間に設定します。これで、誰かが 8 時間以内に 2 回目のリンクをクリックすると、即座にページが表示されます。

Max-age は、プロキシ サーバーをより効率的にするのにも役立ちます。プロキシ サーバーを Web フロントエンドに追加することで、サーバー側の透過的なキャッシュを簡単に整理できます。

ページのコンテンツが頻繁に変更され、関連性がある場合、簡単なケースではないことに注意してください。たとえば、ユーザーのログイン後に «Hello username» のボックスに変換されるログイン フォームを含むページをキャッシュするのが難しい場合や、ユーザー コメントがある場合、コメントを投稿したユーザーには表示されないことがあります。ブラウザにキャッシュ エントリを破棄するように要求することはできないため、キャッシュから古いページを取得します。解決策は、Javascript を使用してログイン ボックスを生成することです (有効な Javascript が必要です)。ユーザーがログインした後に Cookie を設定すると、クライアント側で確認して、ログインしたユーザーに適したコンテンツを生成できます。このようにして、コンテンツはサーバー側のビューから同じになり、キャッシュできます。」

詳細はこちら[http://www.webscalingblog.com/performance/caching-http-headers-cache-control-max-age.html]

于 2013-09-27T05:15:56.343 に答える