Web ページのキャッシュは、HTTP メッセージ ヘッダーの「Cache-control」によって制御されます。一般的な値には、private、no-cache、max-age、must-revalidate などが含まれます。デフォルトは private です。
機能は、さまざまな再閲覧方法に応じて次の状況に分類されます。
値はプライベート、キャッシュなし、再検証が必要です。その場合、新しいウィンドウが開いたときにサーバーに再度アクセスします。
また、max-age 値が指定されている場合、この値以内ではサーバーに再度アクセスすることはできません。例:
キャッシュ制御: max-age=5 (5 秒以内にこの Web ページに再度アクセスすると、サーバーにアクセスしないことを意味します)
値がプライベートまたは再検証が必要な場合、サーバーには初回のみアクセスされ、再度アクセスされることはありません。
値が no-cache の場合、毎回アクセスされます。
値が max-age の場合、有効期限が切れる前に再度アクセスすることはできません。
値が private、must-revalidate、max-age の場合、再度アクセスされません。
値が no-cache の場合、アクセスは毎回繰り返されます
値が何であっても、繰り返しアクセスされます
キャッシュ制御値が「no-cache」の場合、このページにアクセスしても、インターネットの一時記事フォルダーにページのバックアップは残りません。
さらに、「Expires」値を指定すると、キャッシュにも影響が及ぶ可能性があります。たとえば、[Expires] の値が長期間経過した時間として指定されている場合、この Web サイトにアクセスするときにアドレス バーで Enter キーを繰り返し押すと、アクセスは毎回繰り返されます: Expires: Fri, 31 Dec 1999 16:00 :00 GMT
例: IE でページ キャッシュを無効にする
http 応答メッセージのヘッダー設定:
CacheControl = no-cache Pragma=no-cache Expires = -1
サーバー上の Web ページが頻繁に変更される場合は、有効期限を -1 に設定して即時有効期限を示します。 Web ページが毎日午前 1 時に更新される場合、有効期限を翌日の午前 1 時に設定できます。
HTTP1.1 サーバーが CacheControl = no-cache を指定すると、ブラウザは Web ページをキャッシュしません。
レガシー HTTP 1.0 サーバーは Cache-Control ヘッダーを使用できません。
したがって、HTTP 1.0 サーバーとの下位互換性のために、IE は Pragma:no-cache ヘッダーを使用して HTTP に対する特別なサポートを提供します。
クライアントが安全な接続 (https://) 経由でサーバーと通信し、サーバーが応答で Pragma:no-cache ヘッダーを返す場合、
その場合、Internet Explorer はこの応答をキャッシュしません。注: Pragma:no-cache は、安全な接続で使用される場合にのみキャッシュを防止します。安全でないページで使用された場合、処理は Expires:-1 と同じになりますが、ページはすぐに期限切れとしてマークされます。
ヘッダーは 3 つの部分に分かれています:
最初の部分は HTTP プロトコルのバージョン (HTTP-Version) です。
2 番目の部分はステータス コード (ステータス) です。
3番目の部分はReason-Phraseです。