すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:キャッシュ TTL の設定

最終更新日:Jun 09, 2026

キャッシュ有効期限ルールを使用すると、 および DCDN のエッジノード (POP) 上でリソースのキャッシュ期間を正確に制御できます。これにより、コンテンツの新鮮さ、アクセスパフォーマンス、およびオリジンフェッチコストのバランスを最適化できます。このドキュメントでは、これらのルールの動作原理、設定方法、検証方法について説明します。また、トラブルシューティングのガイダンスとベストプラクティスも提供します。

注意事項

  • ドメイン名を追加した後、キャッシュ時間を変更できます。キャッシュ期間は、CDN back-to-origin トラフィックとコストに影響します。キャッシュの有効期限は、オリジンフェッチの頻度に影響します。ビジネスニーズに基づいてリソースのキャッシュ期間を設定してください。

    キャッシュの有効期限が短すぎると、DCDN はオリジンから頻繁にデータをフェッチするため、オリジンサーバーのトラフィックが増加します。キャッシュの有効期限が長すぎると、データ更新が遅延します。

  • アクセス頻度の低い (つまり、同じ DCDN POP 上のリソースがクライアントから頻繁にリクエストされない) DCDN POP にキャッシュされたリソースは、キャッシュの有効期限が切れる前に、DCDN POP 上の他のより人気のあるリソースによって上書きされる可能性があります。

  • DCDN の POP がオリジンサーバーから静的ファイルを受信すると、DCDN のデフォルトのキャッシュルールと優先度に基づいてリソースをキャッシュします。動的ファイルのキャッシュルールについては、「動的および静的コンテンツのアクセラレーションルールの概要」をご参照ください。

  • オリジンサーバー上のコンテンツを同じファイル名で更新しないでください。代わりに、同期にはバージョン番号を使用してください。

    更新前後のコンテンツを正確に区別するために、バージョン番号を使用してオリジンコンテンツを同期します。これは、コンテンツを更新するときに異なるファイル名を使用することを意味します。たとえば、img-v1.0.jpgimg-v2.1.jpg などの名前を使用できます。

操作手順

  1. DCDNコンソールにログインします。
  2. 左側のナビゲーションペインで ドメイン名 をクリックします。
  3. On theドメイン名ページで、管理するドメイン名を見つけて、設定.

  4. ドメイン名の左側のナビゲーションウィンドウで、[キャッシング] をクリックします。
  5. キャッシュ期間 タブで、追加 をクリックします。

  6. キャッシュ期間 ダイアログボックスで、キャッシュルールを設定します。

    image

    パラメーター

    説明

    [タイプ]

    ディレクトリ または ファイル名拡張子 でリソースの範囲を指定します。

    • [ディレクトリ]:指定されたパス内のすべてのリソースに同じキャッシュルールを設定します。

    • [ファイル名拡張子]:指定されたファイルタイプのリソースに同じキャッシュルールを設定します。

    [コンテンツ]

    ルールが適用されるディレクトリまたはファイル拡張子。

    • [タイプ]ディレクトリ に設定した場合、次の点にご注意ください。

      • 一度に追加できるディレクトリは 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。最大期間は 3 年です。次の設定を推奨します。

    • 画像やアプリケーションパッケージなど、頻繁に更新されない静的ファイルの場合は、TTL を 1 か月以上に設定します。

    • JS ファイルや CSS ファイルなど、頻繁に更新される静的ファイルの場合は、ビジネスニーズに基づいてカスタム TTL を設定します。

    • PHP、JSP、ASP ファイルなどの動的ファイルの場合は、キャッシュされないように TTL を 0 秒に設定します。

    [オリジンのキャッシュポリシーを優先]

    有効にすると、オリジンサーバーからの Cache-ControlPragma などのキャッシュポリシーヘッダーが優先されます。

    [オリジンの no-cache ヘッダーを無視]

    この機能を有効にすると、DCDN の POP は、オリジンサーバーのレスポンスから返される、コンテンツをキャッシュしないことを指定する以下のキャッシュポリシーヘッダーを無視します。

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragma: no-cache

    [クライアントは DCDN のキャッシュポリシーに従う]

    この機能を有効にすると、DCDN の POP は有効なキャッシュポリシーをクライアントに返します。

    [強制再検証]

    このパラメーターは、キャッシュ TTL が 0 に設定されている場合にのみ有効になります。効果は次のとおりです。

    • 無効 (デフォルト):DCDN のキャッシュ TTL が 0 に設定されている場合、DCDN の POP はファイルをキャッシュせず、リクエストごとにオリジンフェッチが実行されます。

    • 有効:DCDN のキャッシュ TTL が 0 に設定されている場合、ファイルは DCDN の POP にキャッシュできますが、すべてのリクエストでキャッシュされたコンテンツを検証するためにオリジンフェッチが必要になります。

    [重み]

    キャッシュルールの優先度。有効な値は 1 から 99 までの整数です。値が大きいほど優先度が高くなります。最も優先度の高いルールが最初に適用されます。

    説明
    • 複数のキャッシュルールを設定する場合は、各ルールに異なる重みを設定して実行の優先度を制御します。

    • 複数のルールが同じ重みを持つ場合、ルールタイプに関係なく、先に作成されたルールが優先されます。

    • 複数のキャッシュポリシーが設定されている場合、DCDN は 1 つのポリシーが有効になった後、他のキャッシュポリシーのマッチングを停止します。

    [ルール条件]

    ルール条件により、リクエストが特定の基準を満たす場合にのみルールを適用できます。

    重要

    機能がルール条件を参照する場合、実行順序は機能設定の順序ではなく、関連するルール条件の優先順位に従います。

    • 使用しない:条件付きルールを無効にします。

    • 条件付きルールはルールエンジンで追加または編集できます。

  7. OK をクリックして設定を保存します。

    キャッシュルールの設定が正常に完了すると、そのルールは キャッシュ期間 タブのリストに表示されます。変更 または 削除 をクリックしてルールを管理できます。

Alibaba Cloud DCDN のデフォルトのキャッシュルールと優先度

HTTP ステータスコードが 200, 203, 206, 300, 301, 308, or 410 のオリジン応答の場合、キャッシュの有効期限は次のルールによって決定されます。

DCDN POP がオリジンサーバーからファイルリソースを受信すると、次の優先順位でキャッシュルールを適用します。数値が小さいほど、優先度が高くなります。缓存优先级

  1. オリジンサーバーが pragma:no-cachecache-control:no-cache (または no-store、または max-age=0) で応答した場合、DCDN はリソースをキャッシュしません。

  2. DCDN コンソールで設定されたキャッシュの有効期限または状態コードの有効期限。

    説明

    DCDN リクエストが複数のルールに一致する場合、1 つのルールのみが適用されます。優先度は、まず重み、次に作成時間によって決定されます。

    • 複数のキャッシュルールがある場合は、各ルールに異なる重みを設定して、実行の優先度を制御します。重みが大きいほど優先度が高くなります。

    • 同じ重みを持つルールの場合、ルールタイプに関係なく、先に作成されたルールの方が優先度が高くなります。

  3. オリジンサーバーで設定されている他のキャッシュルール。優先度は高いものから順に、cache-control > expires > last-modified > ETag となります。

    1. オリジンサーバーからの応答の cache-control ヘッダーが 0 より大きい max-age または s-maxage 値を指定している場合、cache-control ヘッダーが生存時間の設定に使用されます。例: cache-control:max-age=3600。max-ages-maxage の両方が存在する場合、s-maxage が優先されます。

    2. オリジンの応答に cache-control ヘッダーは含まれていないが、Expires ヘッダーが含まれている場合、キャッシュの有効期限は Expires ヘッダーによって決定されます。例: expires:Tue, 25 Nov 2031 17:25:43 GMT。

    3. オリジンの応答に cache-control または Expires は含まれていないが、last-modified が含まれている場合、キャッシュ時間は数式 (現在の時刻 - last-modified) × 0.1 を使用して計算されます。結果が 10 秒から 3600 秒の間の場合、その結果が使用されます。結果が 10 秒未満の場合、キャッシュ時間は 10 秒です。結果が 3600 秒より大きい場合、キャッシュ時間は 3600 秒です。

    4. オリジンの応答に cache-controlExpires、または last-modified は含まれていないが、ETag が含まれている場合、リソースは 10 秒間キャッシュされます。

  4. オリジンサーバーから返されたデータにキャッシュ関連のレスポンスヘッダー (cache-controlexpireslast-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-CachetimeDCDN に設定されたキャッシュ有効期限よりわずかに短い。たとえば、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 を表します)。

リソースのキャッシュステータスの確認

キャッシュ TTL を設定した後、これらの方法を使用して、リソースが DCDN キャッシュから提供されているかどうかを確認できます。

  • 方法 1:curl コマンドを使用する

    ターミナルで curl -I コマンドを実行してターゲット URL にリクエストを送信し、レスポンスヘッダーの X-Cache フィールドを確認して、キャッシュにヒットしたかどうかを判断します。

    curl -I http://<accelerated_domain_name>/<resource_path>

    レスポンスヘッダーで、X-Cache フィールドを確認します。

    • X-Cache: HIT は、リソースが DCDN キャッシュから提供されたことを示します。

    • X-Cache: MISS は、リソースが DCDN キャッシュに見つからず、オリジンサーバーから直接提供されたことを示します。

  • 方法 2:ブラウザーの開発者ツールを使用する

    ブラウザーの開発者ツール (F12) を使用します。[ネットワーク] タブで、リソース URL にアクセスします。リクエストを選択し、レスポンスの X-Cache ヘッダーを調べます。

HTTP キャッシュ制御メカニズム

HTTP プロトコルは、3 種類のキャッシュ制御メカニズムを定義しています。

  1. 有効期限検証メカニズム

    クライアントがサーバーからリソースをリクエストすると、リソースの有効期限が設定されます。この時刻より前は、リソースのキャッシュコピーは有効と見なされます。この時刻を過ぎると、キャッシュコピーは無効と見なされます。

    キャッシュの有効期限を制御する一般的な HTTP ヘッダーは次のとおりです。

    ヘッダー名

    プロトコルバージョン

    機能

    値の例

    タイプ

    Pragma

    HTTP/1.0

    Pragma は、コンテンツをキャッシュすべきでないかどうかを示します。一般的な値は no-cache で、これはファイルがキャッシュされないことを意味します。これは、HTTP/1.0 のみをサポートするサーバーとの互換性のためにしばしば使用されます。

    Pragma:no-cache

    リクエスト/レスポンス

    Expires

    HTTP/1.0

    Expires レスポンスヘッダーには、キャッシュされたコンテンツが期限切れになる日時が含まれます。

    0 などの無効な日付が使用された場合、それはリソースがすでに期限切れであることを意味します。

    Expires: Wed, 21 Oct 2022 07:28:00 GMT

    レスポンス

    Cache-Control

    HTTP/1.1

    Cache-Control レスポンスヘッダーは、柔軟なキャッシュ制御を実現するためにさまざまな命令で設定できます。これは、ブラウザなどの最新のクライアントがキャッシュを制御するために使用する主要なヘッダーです。

    次の 3 つの例は、ファイルをキャッシュすべきでないことを示しています。

    • Cache-Control:no-cache

    • Cache-Control:no-store

    • Cache-Control:max-age=0

    キャッシュの有効期間が 1 時間であることを示す例: Cache-Control:max-age=3600

    リクエスト/レスポンス

  2. リソースタグ検証メカニズム

    クライアントが最初にサーバーからリソースをリクエストすると、サーバーはレスポンスヘッダーにリソースタグを含めます。このタグは、同じリソースに対する後続のリクエストの検証識別子として機能します。クライアントが再度リソースをリクエストすると、リクエストヘッダーにタグを含めます。サーバーがタグを検証し、リソースが更新されていないと判断した場合、HTTP 304 状態コードで応答します。これは、クライアントがローカルのキャッシュコピーを引き続き使用できることを示します。サーバーが不一致を検出した場合、それはリソースが変更されたことを示し、クライアントは再度リソースコンテンツを取得する必要があります。

    キャッシュバージョンを制御する一般的な HTTP ヘッダーは次のとおりです。

    ヘッダー名

    プロトコルバージョン

    機能

    値の例

    タイプ

    Last-Modified

    HTTP/1.0

    Last-Modified は、リソースの最終変更時刻を示します。

    Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

    レスポンス

    ETag

    HTTP/1.1

    ETag は、リソースの特定のバージョンの一意の識別子を提供します。

    ETag を比較することで、リソースが変更されたかどうかを判断できます。変更されていない場合、オリジンサーバーは完全な応答を送信する必要はありません。

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    レスポンス

  3. 複数コピーネゴシエーションメカニズム

    キャッシュソフトウェアは、ディスクにキャッシュされたオブジェクトをインデックス付けするためにキーワードを使用します。HTTP/1.0 では、リソース URL がキーワードとして使用されます。ただし、異なるリソースが同じ URL を共有する場合があります。それらを区別するために、クライアントは Accept-Language や Accept-Charset ヘッダーなどの詳細情報を提供する必要があります。このコンテンツネゴシエーションメカニズムをサポートするために、HTTP/1.1 では応答メッセージに Vary ヘッダーが導入されました。このヘッダーは、コンテンツネゴシエーションに使用されるリクエストメッセージのヘッダーを指定します。

    複数コピーネゴシエーションメカニズムは、通常、HTTP Vary ヘッダーを使用して異なるキャッシュコピーを区別します。これにより、同じリソースをリクエストする異なるクライアントが、そのリソースの異なるバージョンを受信できるようになります。

    ヘッダー名

    プロトコルバージョン

    説明

    値の例

    タイプ

    Vary

    HTTP/1.1

    一般的な例:

    • サーバーは Vary: Accept-Encoding を指定して、受信側 (たとえば DCDN POP) に、このリソースに対して 2 つのバージョンのリソース (圧縮版と非圧縮版) をキャッシュする必要があることを通知します。クライアントが DCDN から同じリソースをリクエストすると、古いブラウザは非圧縮リソースを取得し (互換性の問題を回避するため)、新しいブラウザは圧縮リソースを取得します (データ転送トラフィックを削減するため)。

    • サーバーは Vary: User-Agent を指定して、リクエストを送信しているブラウザのタイプを識別し、受信側 (たとえば DCDN POP) に、ブラウザのタイプに基づいて対応するバージョンのリソースをキャッシュするように通知します。

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    レスポンス

設定例

例 1:.txt ファイルを 7 日間キャッシュするには、DCDN コンソールで .txt ファイル拡張子のキャッシュルールを追加し、キャッシュ TTL を 7 日間に設定します。

image.png

例 2:アクセラレーションドメイン名 demo.aliyun.com に次のキャッシュポリシーが設定されています。DCDN の POP がオリジンからリソース http://demo.aliyun.com/image/example.png をフェッチすると、2 つのルールが一致します。両方のルールが同じ重みを持つため、システムは先に作成されたルールを優先します。/image ディレクトリのルールが先に作成されました。したがって、ディレクトリベースのルールが有効になります。image.png

関連 API

BatchSetDcdnDomainConfigs