ブラウザによるキャッシュ指示(リクエスト)


ブラウザによるキャッシュ指示(リクエスト)

ブラウザは、Proxyサーバ(CDNサーバを含む)に対し、キャッシュの扱いを指示することができます。これは、HTTPリクエストに特定のHTTPヘッダを含めることにより行われます。

HTTPリクエスト

 用途  HTTPヘッダ 概要
一般 Cache-Control
最新性チェック If-modified-Since 指定時間から変更があった場合
If-unmodified-Since 指定時間から変更がなかった場合
Etag関連 If-Match Etagがマッチした場合
If-None-Match Etagがマッチしない場合
If-Range Etagがマッチした場合Rangeを実行
Pragma Pragram:no-cache キャッシュ不可(HTTP/1.0)

Cache-Control

 用途  パラメータ 概要
キャッシュ可否 no-store キャッシュ不許可(一時的なストアも不許可)
only-if-cached コンテンツがキャッシュされていた場合に実行
 改変不可 no-transform 改変不可、改変されたコンテンツの送信を不許可
チェック有無 no-cache オリジンへのチェックなしにキャッシュコンテンツを返すことを不許可
 最新性チェック max-age 無チェック時間の最大
max-stale 無効となってからの最大値
min-fresh 有効である時間の最小値(例:min-fresh=3600, 1時間以内に無効となるコンテンツを受け付けない)

補足

以下のHTTPヘッダは、Proxyサーバにおけるキャッシュ制御時のパラメータとして使われます:

 用途  HTTPヘッダ 概要
Vary関連 User-Agent ブラウザ名
Accept-Charset 受け付けるCharSet
Accept-Encoding 受け付けるEncoding (HTTP圧縮: gzip, deflate, sdch)
Accept-Language 受け付けるLanguage