Alibaba Cloud CDNは、オリジンサーバーからクライアントに最も近い利用可能なポイントオブプレゼンス (POP) にコンテンツをキャッシュすることで、静的コンテンツの配信を高速化します。 次いで、静的コンテンツがアクセスされ、POPから取得される。 このトピックでは、POPの有効期間 (TTL) 値を指定する方法について説明します。
説明
コンソール設定、オリジンヘッダー設定、およびデフォルトのキャッシュポリシー設定を適用して、TTL値を指定できます。 設定は優先度の高い順になっています。
コンソール設定の詳細については、「リソースのキャッシュルールの作成」をご参照ください。
オリジンヘッダー設定の詳細については、「WebServerキャッシュポリシー設定」をご参照ください。
デフォルトのキャッシュポリシーは、コンソールまたはオリジンサーバーでTTL値を指定しない場合に使用されるグローバルポリシーです。 これにより、高速化のパフォーマンスが保証され、動的ファイルキャッシュによる問題が防止されます。 デフォルトキャッシュポリシー設定の詳細については、「Alibaba Cloud CDNデフォルトキャッシュポリシー」をご参照ください。
説明Object Storage Service (OSS) キャッシュポリシー設定の詳細については、「オブジェクトメタデータの管理」をご参照ください。
WebServerキャッシュポリシー設定
NGINXキャッシュポリシーの設定方法については、「NGINXキャッシュポリシーの設定」をご参照ください。
Apacheキャッシュポリシーの設定方法については、「Apacheキャッシュポリシーの設定」をご参照ください。
インターネットインフォメーションサービス (IIS) キャッシュポリシーを構成する方法については、「IISキャッシュポリシーの構成」をご参照ください。
Alibaba Cloud CDNデフォルトキャッシュポリシー
Webサイト開発者と技術エンジニアは、Webサイトのビジネスロジックと静的および動的要因をよりよく理解しています。 ファイルタイプとディレクトリに基づいて、Alibaba Cloud CDNコンソールでTTL値を指定することを推奨します。 詳細については、「リソースのキャッシュルールの作成」をご参照ください。
キャッシュポリシーを設定した場合、デフォルトのキャッシュポリシーは有効になりません。
デフォルトでは、POPは数式に基づいてデフォルトのTTL値を計算します。 このセクションでは、デフォルトのTTL値を計算するための式と、理解を容易にするための例を示します。
TTL値を計算するには、次の手順を実行します。
説明t: TTL値 (秒単位) 。 Curtime: 現在の時刻。 Last_Modified: オリジンサーバーからの応答のLast-Modifiedヘッダーの値。
t1の値を計算する。
t1 = (Curtime - Last_Modified) * 0.1
前のステップで計算したt1の値を10と比較し、大きい方の値をt2として使用する。
t2 = max(10、t1)
前のステップで計算されたt2の値を3,600と比較し、小さい方の値をTTL値であるtとして使用します。
t = min(t2,3600)
例:
オブジェクトの
Last-Modified
値が20140801 00:00:00
、Curtimeが20140801 00:10:00
の場合、t1、t2、tは、t1 = (Curtime - Last_modified) × 0.1 = 60、t2 = max(10, t1) = 60、t = min(t2, 3600) = 60。 したがって、TTL値は60秒である。オブジェクトの
Last-Modified
値が20140801 00:00:00
であり、Curtimeが20140802 00:00:00
である場合、t1、t2、およびtは、以下の式に基づいて計算される。t1 = (Curtime - Last_modified) × 0.1 = 8,640、t2 = max(10, t1) = 8,640、およびt = min(t2, 3600) = 3,600。 したがって、TTL値は3,600秒です。オブジェクトの
Last-Modified
値が20140801 00:00:00
であり、Curtimeが20140801 00:01:00
である場合、t1、t2、およびtは、以下の式に基づいて計算される。t1 = (Curtime - Last_modified) × 0.1 = 6、t2 = max(10, t1) = 10、およびt = min(t2, 3600) = 10。 したがって、TTL値は10秒である。
オリジンサーバーからの応答に
Last-Modified
ヘッダーが含まれておらず、ETag
ヘッダーが含まれている場合、取得されたオブジェクトは静的リソースである可能性が高くなります。 このオブジェクトのデフォルトのTTL値は最小値に設定されます。dft_expires
ディレクティブを使用して、最小値を設定できます。オリジンサーバーからの応答に
Last-Modified
またはETag
ヘッダーが含まれていない場合、取得されるオブジェクトは動的リソースです。 このオブジェクトのデフォルトのTTL値は0に設定されます。 オブジェクトは、オブジェクトが要求されるたびにオリジン・サーバから取り出される。