ブラウザによるキャッシュ指示(リクエスト)
ブラウザは、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 |