キャッシュの生存時間 (TTL) は、オリジンサーバーからのリソースが DCDN ノードにキャッシュされる期間を指定します。TTL の有効期限が切れると、DCDN ノードはこれらのリソースを期限切れとしてマークします。クライアントが DCDN ノードから期限切れのリソースをリクエストすると、DCDN はオリジンフェッチを実行してリソースの最新バージョンを取得し、それを DCDN ノードにキャッシュします。ビジネス要件に合わせて、ファイルディレクトリまたはファイル名拡張子に基づいて静的リソースのキャッシュ TTL を設定できます。
注意事項
ドメイン名を追加した後にキャッシュ時間を変更できます。キャッシュ期間は、CDN back-to-origin トラフィックとコストに影響します。キャッシュの有効期限は、オリジンフェッチの頻度に影響します。ビジネスニーズに基づいてリソースのキャッシュ期間を設定してください。
キャッシュの有効期限が短すぎると、DCDN はオリジンから頻繁にデータをフェッチするため、オリジンサーバーのトラフィックが増加します。キャッシュの有効期限が長すぎると、データ更新が遅延します。
アクセス頻度の低い (つまり、同じ DCDN POP 上のリソースがクライアントから頻繁にリクエストされない) DCDN POP にキャッシュされたリソースは、キャッシュの有効期限が切れる前に、DCDN POP 上の他のより人気のあるリソースによって上書きされる可能性があります。
DCDN の POP (point of presence) がオリジンサーバーからのレスポンスで静的ファイルリソースを受信すると、「Alibaba Cloud DCDN のデフォルトキャッシュルールと優先度」に従ってリソースをキャッシュします。動的ファイルリソースのキャッシュルールの詳細については、「動的および静的コンテンツの高速化ルールの概要」をご参照ください。
オリジンサーバー上のコンテンツを同じファイル名で更新しないでください。代わりに、同期にはバージョン番号を使用してください。
更新前後のコンテンツを正確に区別するには、バージョン番号を使用してオリジンコンテンツを同期します。これは、コンテンツを更新するときに異なるファイル名を使用することを意味します。たとえば、img-v1.0.jpg や img-v2.1.jpg などの名前を使用できます。
手順
DCDN コンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、管理するドメイン名を見つけて 設定 をクリックします。
ドメイン名の左側のナビゲーションツリーで、キャッシング をクリックします。
キャッシュ期間 タブで、追加 をクリックします。
キャッシュ期間 ダイアログボックスでキャッシュルールを設定できます。

パラメーター
説明
タイプ
リソースの範囲を指定するために ディレクトリ または ファイル名拡張子 をサポートします
ディレクトリ: 特定のパス内のすべてのリソースに同じキャッシュルールを設定します。
ファイル名拡張子: 特定のファイルタイプのリソースに同じキャッシュルールを設定します。
コンテンツ
リソースのディレクトリまたはファイル拡張子。
タイプを ディレクトリ に設定した場合は、次の点に注意してください:
一度に 1 つのディレクトリのみを追加します。スラッシュ (/) を使用してすべてのディレクトリを照合します。
ディレクトリの完全なパスを入力します。パスはスラッシュ (/) で始まる必要があります。例: /directory/aaa。
ファイル名拡張子 をタイプとして選択した場合は、次の点に注意してください:
1 つ以上のファイル名拡張子を入力します。複数の拡張子はコンマ (,) で区切ります。例:
jpg,txt。拡張子では大文字と小文字が区別されます。サポートされている静的ファイルタイプは次のとおりです:
イメージ: GIF、PNG、BMP、JPEG、および JPG。
Web ページ: HTML、HTM、および SHTML。
オーディオおよびビデオファイル: MP3、WMA、FLV、MP4、WMV、OGG、および AVI。
ドキュメント: DOC、DOCX、XLS、XLSX、PPT、PPTX、TXT、および PDF。
その他: ZIP、EXE、TAT、ICO、CSS、JS、SWF、APK、M3U8、TS、EJS、SVG、WOFF、および OTF。
アスタリスク (*) を使用してすべてのファイルタイプを照合することはできません。
有効期限
キャッシュされたリソースの生存時間 (TTL)。TTL は最大 3 年まで設定できます。次のルールに従ってください:
イメージやアプリケーションパッケージなど、頻繁に更新されない静的ファイルの場合は、TTL を 1 か月以上に設定します。
JS ファイルや CSS ファイルなど、頻繁に更新される静的ファイルの場合は、必要に応じて TTL を設定します。
PHP、JSP、ASP ファイルなどの動的ファイルの場合は、TTL を 0s に設定します。これにより、ファイルがキャッシュされるのを防ぎます。
オリジン TTL に従う
この機能が有効で、オリジンサーバーが Cache-Control や Pragma などのキャッシュポリシーヘッダーを返す場合、オリジンサーバーのキャッシュポリシーが優先されます。
オリジンの No-Cache ヘッダーを無視
有効にすると、DCDN ノードは、オリジンサーバーのレスポンスからの次のキャッシュポリシーヘッダー (これらのヘッダーはキャッシュを防ぐために使用されます) を無視します。
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: max-age=0
Pragma: no-cache
POP TTL に従う
この機能を有効にすると、DCDN ノードは最終的に有効なキャッシュポリシーでクライアントに応答します。
強制的な再検証
このパラメーターは、キャッシュの有効期限が 0 の場合にのみ有効になります。効果は次のとおりです:
オフ (デフォルト): DCDN の生存時間 (TTL) が 0 に設定されている場合、ファイルは DCDN ノードにキャッシュされず、各リクエストはオリジンサーバーからコンテンツを取得する必要があります。
有効: DCDN の生存時間 (TTL) が 0 に設定されている場合、ファイルは DCDN ノードにキャッシュされ、キャッシュされたコンテンツを検証するために各リクエストでオリジンフェッチが必要になります。
重み
キャッシュルールの優先度。有効な値: 1~99。値が大きいほど優先度が高くなります。優先度が最も高いルールが優先されます。
説明複数のキャッシュルールが設定されている場合は、各ルールに異なる重みを設定して、実行の優先度を制御します。
複数のルールが同じ重みを持つ場合、ルールタイプに関係なく、先に作成されたルールがより高い優先度を持ちます。
複数のキャッシュポリシーが設定されている場合、DCDN は 1 つのポリシーが有効になった後、他のポリシーの照合を停止します。
ルール条件
ルール条件は、リクエスト内のパラメーターを識別して、設定がリクエストに適用されるかどうかを判断できます。
条件を使用しない
ルール条件を追加または編集する場合は、「ルールエンジン」をご参照ください。
OK をクリックして設定を完了します。
キャッシュルールを作成した後、キャッシュ期間 リストで 変更 または 削除 できます。
Alibaba Cloud DCDN のデフォルトキャッシュルールと優先度
HTTP ステータスコードが 200、203、206、300、301、308、または 410 のオリジンレスポンスの場合、キャッシュの有効期限は次のルールによって決定されます。
DCDN POP がオリジンサーバーからファイルリソースを受信すると、次の優先順位でキャッシュルールを適用します。数値が小さいほど、優先度が高くなります。
オリジンサーバーが
pragma:no-cache、cache-control:no-cache(またはno-store、またはmax-age=0) で応答した場合、DCDN はリソースをキャッシュしません。DCDN コンソールで設定されたキャッシュ有効期限またはステータスコード有効期限。
説明DCDN リクエストが複数のルールに一致する場合、1 つのルールのみが適用されます。優先度は、まず重み、次に作成時間によって決まります。
複数のキャッシュルールがある場合は、各ルールに異なる重みを設定して、実行の優先度を制御できます。重みが大きいほど優先度が高くなります。
重みが同じルールの場合、ルールタイプに関係なく、先に作成されたルールがより高い優先度を持ちます。
オリジンサーバーで設定されている他のキャッシュルール。優先度は高いものから順に、
cache-control>expires>last-modified>ETagとなります。オリジンサーバーからのレスポンスの
cache-controlヘッダーが 0 より大きいmax-ageまたはs-maxage値を指定している場合、cache-controlヘッダーは生存時間を設定するために使用されます。例: cache-control:max-age=3600。max-ageとs-maxageの両方が存在する場合、s-maxageが優先されます。オリジンレスポンスに
cache-controlヘッダーが含まれておらず、Expiresヘッダーが含まれている場合、キャッシュの有効期限はExpiresヘッダーによって決定されます。例: expires:Tue, 25 Nov 2031 17:25:43 GMT。オリジンレスポンスに
cache-controlまたはExpiresが含まれておらず、last-modifiedが含まれている場合、キャッシュ時間は数式 (現在の時刻 -last-modified) × 0.1 を使用して計算されます。結果が 10 秒から 3600 秒の間である場合、その結果が使用されます。結果が 10 秒未満の場合、キャッシュ時間は 10 秒です。結果が 3600 秒を超える場合、キャッシュ時間は 3600 秒です。オリジンレスポンスに
cache-control、Expires、またはlast-modifiedが含まれておらず、ETagが含まれている場合、リソースは 10 秒間キャッシュされます。
オリジンサーバーから返されたデータにキャッシュ関連のレスポンスヘッダー (
cache-control、expires、last-modified、またはETag) が含まれていない場合、リソースはデフォルトではキャッシュされません。
キャッシュレスポンス情報の説明
Date:オリジンサーバーが DCDN POP にレスポンスでリソースを送信した時刻を示します。
DCDN POP がオリジンリクエストに
If-Modified-SinceまたはIf-None-Matchヘッダーを含めることでオリジンサーバーでリソースを再検証する場合、オリジンサーバーが 304 ステータスコードを返すと Date 情報が更新されます。フォーマットはグリニッジ標準時 (GMT) です。例:
Sat, 19 Apr 2025 08:58:31 GMT。
X-Cache:リクエストされたリソースが DCDN POP のキャッシュにヒットしたかどうかを示します。次の表に、指定できる値を示します。
ステータス
説明
HITリクエストされたリソースが DCDN POP のキャッシュにヒットしました。
MISSリクエストされたリソースは DCDN POP のキャッシュにヒットしませんでした。リソースはオリジンサーバーによって提供されました。
X-Swift-Cachetime:DCDN POP 上のリソースの残りのキャッシュ時間 (秒単位) を示します。
X-Swift-Cachetime=Ali-Swift-Global-Savetime+ CDN に設定されたキャッシュ有効期限 -X-Swift-SaveTime。X-Swift-Cachetimeは、DCDN に設定されたキャッシュ有効期限と常に等しいとは限りません。次の 3 つの状況が発生する可能性があります:X-Swift-Cachetime= DCDN に設定されたキャッシュ有効期限 (例: 3600 秒)。X-Swift-Cachetimeが DCDN に設定されたキャッシュ有効期限よりわずかに短い。たとえば、DCDN のキャッシュ有効期限が 300 秒に設定されているのに、X-Swift-Cachetimeが 295 秒である場合。これは、次の理由が考えられます:レイヤー 1 POP がレイヤー 2 POP からデータをフェッチするときに高いレイテンシーが発生する。
レイヤー 1 とレイヤー 2 の POP の時計が同期されていない。
X-Swift-Cachetimeの値が負である。これは、DCDN のキャッシュ有効期限が変更されたことが原因である可能性があります。クライアントがリクエストを送信したとき、レイヤー 1 POP のキャッシュは期限切れになっていますが、レイヤー 2 POP のキャッシュは期限切れになっていません。たとえば、DCDN のキャッシュ有効期限がもともと 3600 秒で、後で 300 秒に変更されたとします。クライアントが最初のリクエストから 600 秒後にリクエストを送信した場合、レスポンスヘッダーはX-Swift-Cachetime:-300となります。この問題を解決するには、キャッシュをリフレッシュします。
X-Swift-SaveTime:クライアントが直接アクセスした DCDN POP (通常はレイヤー 1 POP) にリソースが最初にキャッシュされた時刻を示します。
フォーマットはグリニッジ標準時 (GMT) です。例:
Sat, 19 Apr 2025 08:58:31 GMT。
Ali-Swift-Global-Savetime:リソースが DCDN POP に最初にキャッシュされた時刻を示します。これは、サイトのキャッシュアーキテクチャに応じて、レイヤー 2 POP または別のキャッシュレイヤーの POP である可能性があります。
フォーマットは UNIX タイムスタンプです。例:
1745053111(これは2025-04-19 16:58:31を表します)。
HTTP キャッシュ制御メカニズム
HTTP プロトコルは、3 種類のキャッシュ制御メカニズムを定義しています:
設定例
例 1: .txt ファイルを 7 日間キャッシュするには、DCDN コンソールで .txt ファイル名拡張子のキャッシュルールを追加し、キャッシュの有効期限を 7 日に設定します。

例 2: 高速化ドメイン名 demo.aliyun.com に次のキャッシュポリシーが設定されています。DCDN ノードがオリジンサーバーからリソース http://demo.aliyun.com/image/example.png を取得すると、両方のルールが照合されます。2 つのルールの重みが同じであるため、先に作成されたルールがより高い優先度を持ちます。/image ディレクトリのルールが先に作成されたため、有効になります。