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


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

ブラウザは、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-cache キャッシュされたコンテンツの配信を不許可。得られたコンテンツのキャッシュも不許可
no-store 同上(一時的なストアも不許可)
only-if-cached コンテンツがキャッシュされていた場合に実行
 改変不可 no-transform 改変不可、改変されたコンテンツの送信を不許可
 最新性チェック 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