2024.11.22
HTTPにおけるキャッシュについて勉強したことをメモる
HTTP
Motivation
キャッシュについてちゃんと理解するのはフロントエンドの人間にとって必要不可欠だと思う。正直。
キャッシュって何だっけ
まず、「キャッシュする」とは一体どういうプロセスなのか考える。Cloudflareのドキュメントにいいことが書いてある。
これを読む限り、HTTPにおける「キャッシュする」とは、HTTPリクエストに紐づくレスポンスのデータをどこか一時的に保存しておいて、似た様なHTTPリクエストがあった時にそのデータを使い回すプロセスを指すことが分かる。 この時に使い回すデータ(ファイルを含む)をキャッシュと呼ぶ。
キャッシュは何が嬉しいんだっけ
キャッシュの種類
キャッシュはプライベートキャッシュと共有キャッシュの2種類に大別することができる。
プライベートキャッシュ
共有キャッシュ
If-Modified-Since
HTTP/1.0の時代から存在するHTTPヘッダー。

If-Modified-Since
ヘッダーで指定された時刻以降にリソースが変更されていれば、新しいリソースを 200
のステータスコードと共に返す。
そうでない場合ステータスコードは 304
とし、レスポンスに本文は含めない。
また、このヘッダーに詰める時刻のタイムゾーンは GMT
にしないといけないところは注意が必要。
Expires
ETag
Cache-Control
stale-while-revalidate
Vary
参考リンク
