HTTP キャッシュのメモ
毎回調べてしまうので、必要になるメモを書きました。
2種類のキャッシュ
| 種類 | 動作 | ヘッダー |
|---|---|---|
| 強いキャッシュ | リクエストせずローカルを使う | Cache-Control: max-age=…, Expires |
| 条件付き | 変わったかサーバーに問い合わせる | ETag / If-None-Match, Last-Modified / If-Modified-Since |
実践的な使い方
- フィンガープリント付きの静的アセット:
max-age=31536000, immutable - HTML:
no-cache(毎回再検証)、またはごく短い max-age - 本当にキャッシュしないのは
no-storeだけ。no-cacheは「再検証する」という意味
最大の誤解:
no-cacheは「キャッシュしない」ではない。