content-refresh#
CDN上のキャッシュを明示的な日時で無効化します。日時はGMTのタイムスタンプで指定することができ、それ以降に新しいリクエストを受け付けると、再検証がなされたオブジェクトか、オブジェクトの新しいコピーが配信されます。
"type"パラメーター(必須)はエッジサーバの振る舞いを指定します。valueにはオブジェクトを無効化することになる時間を設定します。
- epoch – 未来のエポック秒を指定します。エポック秒とは、UNIXシステムにおいて計算される1970年1月1日からの経過時間の秒数を示す整数値です。例: 1388534400
- date-time – ISO8601に基づき未来の日時を示す文字列をGMT時間で指定します。"YYYY-MMDDThh:mm:ssZ"の形式です。例: 2014-01-01T12:00:00Z
- date – ISO8601に基づき未来の日付を示す文字列をGMT時間で指定します。時刻は00:00が指定されます。"YYYY-MM-DD"の形式です。例: 2014-01-01
- natural – ルールが適用された直後にキャッシュを無効化します。valueは"now"の必要があります。
下記のparamsをサポートします。
- mustRevalidate – trueかfalseを指定して下さい。
- true – 与えられた無効化予定時刻を過ぎた後、再検証されていないコンテンツについては、キャッシュに残っている場合であってもエッジサーバから配信されることはありません。
- false – エッジサーバがオリジンサーバからの応答を得られずオブジェクトの再検証に失敗した場合に、キャッシュに残っているコンテンツが配信される場合があります。
最終更新がIf-Modified-Sinceリクエストヘッダーに含まれるオリジナルタイムスタンプ以前のオブジェクトの場合、オリジンサーバはステータスコード304を返す可能性があることに注意して下さい。その場合、エッジサーバは以前取得したオブジェクトをキャッシュから配信し、クライアントには再検証に成功したオブジェクトが送信されます。キャッシュオブジェクトを完全にパージするには、キャッシュの消去APIを実行する必要があります。
以下の例では、サイト管理者がGMT時刻2014年1月1日水曜日00:00:00(エポック秒"1388534400")に彼らのソフトウェア・アプリケーションの新しいバージョンを公開したいと考えています。この場合、現行バージョンへのリンクをエンドユーザーへ表示されるため、午前0時に"/app/download/currentversion/*"に該当するすべてのキャッシュURLを無効化します。
{ "rules": [ { "matches": [ { "name": "url-wildcard", "value": "/app/download/currentversion/*" } ], "behaviors": [ { "name": "content-refresh", "type": "epoch", "value": "1388534400", "params": { "mustRevalidate" : true } } ] } ] }
キャッシュの新旧混在状態を避けるため、新しいコンテンツへのリンクについて、指定された時刻になるまではオリジンサーバからのダウンロードができないような設定を検討ください。