コンテンツにスキップ

ブラウザTTL

ブラウザTTLは、画像がブラウザのキャッシュにどれくらいの間保持されるかを制御し、特にcache-controlレスポンスヘッダーを設定します。

デフォルトTTL

デフォルトでは、画像のTTLは2日間に設定されており、同じカスタムIDの下で画像を再アップロードするなど、ユーザーのニーズに応えています。

カスタム設定

ブラウザTTLを制御するために、アカウントまたは名前付きバリアントの2つのカスタム設定を使用できます。ブラウザが画像をキャッシュに保持する時間を調整するには、TTLを秒単位で設定します。これは、max-ageヘッダーが設定される方法に似ています。値は1時間から1年の間のインターバルである必要があります。

アカウントのブラウザTTL

アカウントごとにブラウザTTLを設定すると、デフォルトTTLが上書きされます。

curl --request PATCH 'https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1/config' \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"browser_ttl": 31536000
}'

すべての画像のブラウザTTLが1年に設定されると、cache-controlヘッダーのレスポンスは基本的にpublicmax-age=31536000stale-while-revalidate=7200となります。

名前付きバリアントのブラウザTTL

名前付きバリアントのブラウザTTLを設定することは、画像バリアントを作成または更新する際に、上記のすべてを上書きするより詳細なオプションです。具体的には、秒単位のbrowser_ttlオプションです。

curl 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_TAG>/images/v1/variants' \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"id":"avatar",
"options": {
"width":100,
"browser_ttl": 86400
}
}'

このバリアントでリクエストされた画像のブラウザTTLが1日に設定されると、cache-controlヘッダーのレスポンスは基本的にpublicmax-age=86400stale-while-revalidate=7200となります。