UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Fastly】Fastly と ブラウザに異なるキャッシュルールを適用する

例えば、Cache-Control: max-age=3000を指定した場合、Fastly のキャッシュサーバー、Fastly とブラウザ間のキャッシュサーバー、およびブラウザ自体がこのヘッダーに従う

自分のリソースを Fastly に永久的にキャッシュさせたいが、ブラウザがそのリソースをキャッシュさせたくない場合など、Fastly と ブラウザに異なるキャッシュルールを適用したい

docs.fastly.com

Cache-Control と Surrogate-Control の両ヘッダーを Fastly へ送信する

Cache-Control はブラウザ、Surrogate-ControlはFastlyに対する指示になる

そして、Surrogate-Control ヘッダーが Cache-Control より優先されるので、例えば以下の場合

Cache-Control: no-store, must-revalidate
Surrogate-Control: max-age=3600

Fastly には3600sキャッシュさせるが、ブラウザがそのリソースをキャッシュさせない設定となる