HTTP cache / validator / 304
ETag・Last-Modified・Cache-Controlを分けて304を確認
freshnessと再検証を混同しないよう、合成headerで判断を確認します。実URLへ接続せず、確認票だけを端末内へ保存します。
HTTP cache / validator / 304
freshnessと再検証を混同しないよう、合成headerで判断を確認します。実URLへ接続せず、確認票だけを端末内へ保存します。
ETagは内容のvalidator、Last-Modifiedは更新日時のvalidator、Cache-Controlはfreshnessと再検証条件です。304は条件付きGETのvalidatorが一致した時の応答です。
ETag + If-None-Match → 304 / Last-Modified + If-Modified-Since → 304 / Cache-Control: no-cache → 利用前に再検証 / Cache-Control: max-age → 期限まではfresh| 軸 | 確認 |
|---|---|
| ETag | 応答の識別子とIf-None-Matchの一致を確認。 |
| Last-Modified | 日時とIf-Modified-Sinceの一致を確認。 |
| no-cache | 保存禁止ではなく、利用前の再検証。 |
| max-age | 期限内はfresh、期限後は再検証。 |
このページは実サーバーへ接続しません。実際の配信設定は対象サービスのログと承認済み手順で確認してください。
| case | 結果 |
|---|---|
etag-match-304 | 304 Not Modified |
last-modified-304 | 304 Not Modified |
cache-control-no-cache | Revalidate |
cache-control-max-age | Fresh until stale |
validator-mismatch | 200 OK / new representation |
unsupported-network-request | Reject |