CDNのキャッシュを消去しても、訪問者のブラウザーに保存済みのファイルは消えません。広範囲な消去やキャッシュTTLの延長を行う前に、レスポンス経路を確認してください。
HTMLとバージョン付きアセットを比較する
- 新しいブラウザーセッションから対象ページとアセットを正確にリクエストします。ステータス、Age、Cache-Control、ETag/Last-Modified、存在する場合はCDNのキャッシュ状態ヘッダーを記録します。
- HTMLがページ移動時に再検証され、コンテンツハッシュ付きJS/CSSが長期キャッシュを使うことを確認します。変更されるURLにimmutableや1年のポリシーを適用しないでください。
古いレイヤーだけを消去する
- CDNが古いバイト列を返す場合は、正確なURLまたはバージョンだけを消去し、2つのネットワークから再確認します。特定のブラウザーだけが古い場合は、エッジルールを変更する前に新しいプロファイルでテストします。
- 変更後、ログイン中のページと公開ページを別々に確認します。個人向けレスポンスを共有キャッシュに入れないでください。ヘッダーを保存し、変更前のルールのロールバックを用意します。
例と期待される結果
- ページには
curl -sS -D page.headers -o page.html PAGE_URLを実行します。ハッシュ付きアセットにはasset.headersやasset.binのような別名を使います。保存したpage.htmlを調べるか、ビルド識別子をオリジンと比較します。デプロイ後に両方のGETリクエストを再度実行し、AgeとCDN状態ヘッダーを比べます。Cache-ControlとETagも確認します。HTMLがデフォルトでキャッシュされない場合があるため、まずサイトの実際のルールを調べます。 - ブラウザープロファイル1つだけが古い場合は、サービスワーカーとローカルキャッシュを確認します。CDNが古いHITを返す場合は、影響するパスだけを消去し、新しいプロファイルで再テストします。オリジンも古い場合は、先にデプロイ/オリジンを修正します。無関係なパスは消去しないでください。