ブラウザのキャッシュ制御ってむずい

この辺の記事を読んで実際にデプロイして挙動を見たりした。デプロイ先は Object Storage で静的 Web サイトホスティング機能を使った(nginx とか Apache とかサーバで試した訳ではないが内部的にそれらが使われているのでさほど変わらないと思う)

各ヘッダについていくつかピックアップしてまとめる。

Etag

リソースを一意に識別するための識別子。"675af34563dc-tr34” な感じ。

Last-Modified

Etag ヘッダと同様にリソースを識別するための最後に変更された日時。Etag よりも精度が低く、代替として使用する。

Cache-Control

いろいろ細かく指定できるディレクティブがある。

  • must-revalidate
  • no-cache
  • no-store
  • public
  • private
  • max-age
  • s-maxage
  • etc ….

今回は max-age=0 を付与することにしたけど以下の記事が参考になった。

max-age=0 って何のメリットがあるの?