Browser TTL は、画像がブラウザーのキャッシュに残る時間を制御し、cache-control レスポンスヘッダーを設定します。
デフォルトの TTL は 2 日です。同じ Custom ID で画像を再アップロードするといった用途に合わせています。
Browser TTL は、アカウント単位と名前付きバリアントの 2 種類で制御できます。ブラウザーが画像をキャッシュに保持する時間を変えるには、max-age ヘッダーと同じように TTL を秒で指定します。指定できる値は 1 時間から 1 年のあいだです。
アカウント単位の Browser 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
}'すべての画像の Browser TTL を 1 年にすると、cache-control ヘッダーは実質的に public、max-age=31536000、stale-while-revalidate=7200 になります。
名前付きバリアントの Browser 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
}
}'このバリアントで取得する画像の Browser TTL を 1 日にすると、cache-control ヘッダーは実質的に public、max-age=86400、stale-while-revalidate=7200 になります。