CDN がユーザーにコンテンツを提供するために、各リクエストは以下の手順を行います。
以下は、この手順の各フェーズの説明です。
コンテンツは、CDNまたはエッジCNAME URLを使用してリクエストすることで、弊社ネットワーク経由で配信できます。HTTP LargeプラットフォームのCDN URLのサンプルを表示します。http://wpc.0001.{Base Domain}/800001/Server/index.html リクエストは、そのクライアントに最も近いPOPで処理されます。これによって、ユーザーとエッジサーバー間の接続を確立するために必要な時間が最少となります。
リクエストに関連するCDNドメインとオリジン識別子は、ユーザーがリクエストしているプラットフォームとサービスのタイプを判断すると解釈されます。次に、エッジサーバーはこの情報を使用して、リクエストされたコンテンツが保護されているかどうかを判断します。
注:エッジCNAME URLはCDNドメインまたはオリジン識別子は含みませんが、エッジサーバーはエッジCDN URLを該当するCDN URLにリライトします。
POPのエッジサーバーは、リクエストされたコンテンツが保護されているかどうかを最初にチェックします。コンテンツを保護するために、以下の方法を提供します。
リクエストが上記のセキュリティ要件をいずれも満たすことができない場合、エッジサーバーはリクエストを拒否します。それ以外のステップは行われません。
国別フィルタリング設定を使用すると、ディレクトリ別にコンテンツを保護できます。リクエストされたコンテンツが安全なディレクトリにある場合、コンテンツをリクエストしたユーザーのロケーションでリクエストが認証されているか判断します。リクエストが拒否されると、HTTPクライアントは「403禁止」ステータスコードを受け取ります。
注:国別フィルタリング設定が再帰的に安全なロケーションに適用されます。例えば、安全なディレクトリのサブフォルダーにあるコンテンツはそのまま国別フィルタリング設定で保護されます。
リクエストされたコンテンツがトークン認証で保護されている場合、エッジサーバーはクエリストリングのトークン値を探します。見つかると、対象のプラットフォームで指定された暗号化キーに従って、トークン値が復号化されます。次に、HTTPクライアント (ブラウザなど) が復号化されたトークン値で定義されるセキュリティ要件を満たすかどうかチェックが行われます。
注:トークン認証では、コンテンツをフォルダーロケーションごと、またはHTTP Rules Engineで保護できます。
デフォルトでは、トークン認証で保護されたコンテンツに対して以下のいずれかが当てはまる場合に、HTTP クライアントは「403禁止」ステータスコードを受け取ります。
ヒント:上記の場合に「403禁止」ステータスコードを出力する代わりに、カスタム拒否対応を利用して、ユーザーをリダイレクトするか、異なるHTTPステータスコードを報告することができます。
HTTP Rules Engineは様々な目的に使用できる強力なツールです。このツールの機能の一つにアクセス拒否(403) があります。この機能は、ユーザー定義の条件が満たされると「403禁止」ステータスコードをHTTPクライアントに返します。
リクエストされたコンテンツが上記のセキュリティ要件をすべてパスする場合、コンテンツがリクエストを処理するPOP上に現在キャッシュされているかどうかのチェックが行われます。
リクエストされたコンテンツのキャッシュ済みバージョンがリクエストを処理する POPで見つかった場合、コンテンツの有効期限がチェックされます。
注:別売りのオリジンシールド機能はオリジンサーバーと弊社POPの間の中間キャッシュレイヤーを提供します。お客様オリジンで有効にした場合、以下のこの手順のオリジンシールドバージョンを参照してください。
注:リクエストされたコンテンツのキャッシュ済みバージョンに「Cache-Control: must-revalidate」ヘッダー値が含まれる場合、弊社エッジサーバーとオリジンシールドサーバーが許可します。これは、このヘッダー値を持つ古いコンテンツに新しいバージョンがあるか常にオリジンサーバーをチェックすることを意味します。
注:デフォルトのオリジンシールド設定は上記のような動作となります。ただし、場合によっては、特定のPOPのオリジンシールドをバイパスするようにオリジンシールドを設定する必要があります。このタイプの設定では、いずれかのPOPのエッジサーバーがコンテンツの有効期間をデフォルトでチェックします。
コンテンツがリクエストを処理しているPOPでキャッシュされていないか、コンテンツのキャッシュ済みバージョンが古くなっている場合、新しいバージョンをCDNまたはお客様オリジンサーバーから取得する必要があります。それぞれのPOPのエッジサーバーは、CDNまたはお客様オリジンサーバーからコンテンツをリクエストします。
オリジンサーバーからコンテンツを受信し始めると、エッジサーバーはリクエストしたクライアントにすぐに配信を開始します。コンテンツ全体がオリジンサーバーから取得されると、そのPOPでキャッシュされます。そのコンテンツに割り当てられるキャッシュポリシーはオリジンサーバーのレスポンスで提供される Cache-ControlヘッダーおよびExpiresヘッダーにより決定されます。そのコンテンツにヘッダー情報がない場合、コンテンツのデフォルトのmax-ageは7日間です。これは、コンテンツのキャッシュされたバージョンがPOPに保存され、7日間有効として扱われることを意味します。
注:別売りのTTP Rules Engineを使用して、CDNによるコンテンツのキャッシュ方法をカスタマイズすることができます。例えば、cache ユーザーがダウンロードを中止した場合でもコンテンツをキャッシュするように CDNを設定できます。