HTTP Rules Engine機能はHTTPリクエストの処理方法をカスタマイズします。この機能のサンプル使用法を以下に示します。
このチュートリアルは2つのルールの作成について説明します。最初のサンプルルールはすべてのリクエストのキャッシュポリシーを定義し、2つ目のサンプルルールは XMLコンテンツおよびXLSコンテンツに異なるキャッシュポリシーを定義します。2 つ目のルールの位置ルールは、リクエストに適合する最も下に近いルールを優先し、上から下に処理されます。最初のルールのオーバーライドを許可します。
HTTP Large、HTTP Small、ADNリクエストの処理方法をカスタマイズするかどうかを最初に決定します。目的のプラットフォームに該当するタブを選択し、Rules Engineタブに移動します。Rules Engineページはルール作成のオプションを表示します。
注:HTTP Rules Engine機能が有効な場合のみ、ルールを表示、作成できます。この機能は別売りです。詳細については、お客様担当のCDNアカウントマネージャーにお問い合わせください。
ルールに名前を付けます。この名前は作成されるルールの目的を説明するようにしてください。これは特に複数のルールを利用する場合に重要です。[名前/説明]オプションで、「デフォルトの内部および外部Max-Age」と入力します。
「常に」が「IF」オプションの横で選択されているか確認します。「常に」によって、リクエストされたすべてのコンテンツが示した通りに処理されます。
注:「常に」一致オプションで定義されるデフォルトの動作はオーバーライドできます。これは、このチュートリアルで後述します。
次に、デフォルトでリクエストされたすべてのコンテンツの処理を決定します。
これで、最初にコンテンツがリクエストされて6時間後に、オリジンサーバーから新規バージョンのコンテンツがあるかどうかチェックできるように、エッジサーバーの設定が完了しました。
次に、ルールに別機能を追加します。この新しい機能は、HTTPクライアント (ブラウザなど) がエッジサーバーからリクエストされたコンテンツに更新があるかどうかチェックを開始するまでの時間を決定します。
ルールは以下に示すようになります。
追加をクリックして、この新しいルールを作成します。新しいルールが承認待ちになります。承認されると、ステータスが「保留中XML」からアクティブXML」に変わります。さらに重要なことに、ルールがリクエストされたコンテンツのデフォルトのmax-ageを7日から6時間に変更します。
上記で設定されたデフォルトの動作が、ほとんどのコンテンツで正常に機能すると仮定します。ところが、頻繁に更新されるコンテンツ (XMLおよびXLSなど) では望ましくない場合もあります。このシナリオを考慮して、別のルールを作成する必要があります。この新しいルールは、エッジサーバーがXMLおよびXLSコンテンツを特定または一致させることができる基準を提供する必要があります。これらを特定したら、このようなコンテンツがリクエストされた場合の処理を決定する必要があります。
別のルールを最初に作成する必要があります。[新規追加]または[追加]をクリックして、別のルールを作成します。再度、この新しいルールに名前を割り当てる必要があります。[名前/説明]オプションで、「XMLコンテンツおよびXLSコンテンツのデフォルトの内部および外部 Max-Age」と入力します。
XMLコンテンツおよびXLSコンテンツのリクエストの処理方法に対応したルールを作成する最も簡単な方法は、URLパス拡張子一致オプションを使用することです。
ルールは以下に示すようになります。
次に、XMLまたはXLSコンテンツがリクエストされた場合の処理を決定します。
この設定によって、エッジサーバーは、最初にコンテンツがリクエストされてから 5 分後に、オリジンサーバーから新規バージョンのコンテンツがあるかどうかチェックを行うようになります。
次に、ルールに別の機能を追加します。この新しい機能は、HTTPクライアント (ブラウザなど) がエッジサーバーから XMLまたはXLSコンテンツの新規バージョンがあるかどうかのチェックを開始するまでの時間を決定します。
ルールは以下に示すようになります。
[追加]をクリックして、この新しいルールを作成します。ここでも、新しいルールが承認待ちになります。
XMLコンテンツおよび XLSコンテンツに固有のルールがキャッチオールルールの直下に表示される点にご注意ください。ルールの表示順序は通常リクエストされたコンテンツに複数のアクションを適用すべき場合の優先順位を決定するため重要です。ルールが承認されると、オリジンサーバーによってmax-ageが割り当てられていないすべてのコンテンツに対して、キャッチオールルールがmax-ageを割り当てます。その後、max-ageがすべてのXMLコンテンツおよびXLSコンテンツに再度割り当てられます。