このトピックでは、EdgeScript(ES)のしくみ、ES におけるスクリプトのモデル、スクリプトが実行される場所、スクリプトの優先順位、およびスクリプトの実行と終了について説明します。
EdgeScript のしくみ
ES を使用して作成されたスクリプトは、CDN コンソールで指定された標準構成と同じです。 CDN アクセスポイント(POP)に送信されるリクエストを処理します。次の図は、スクリプトが実行される場所を示しています。 CDN POP がリクエストを受信すると、POP は Alibaba Cloud CDN コンソールの構成と ES のスクリプトに基づいてリクエストを処理します。リクエスト処理パイプラインでは、スクリプトが実行される場所を指定できます。スクリプトは、CDN コンソールの構成が適用される前(head)または適用された後(foot)に実行できます。

モデル
ES のスクリプトは、次のモデルに基づいて実行されます。
ES は、さまざまな機能を実現するためにスクリプトを実行します。関数は、スクリプトの条件が満たされた場合にのみトリガーされます。
リクエスト処理パイプラインにおけるスクリプトの実行場所とスクリプトの優先順位を指定できます。
ES のスクリプトは、ドメイン名に基づいて管理されます。
場所と優先順位
スクリプトを実行するための場所と優先順位は次のとおりです。
場所
リクエスト処理パイプラインの head または foot でスクリプトを実行できます。
Head:認証、ブロッキング、および速度制限用。
Foot:キャッシュ設定、オリジンサーバーへの認証、および A/B テスト用。

優先順位
リクエスト処理パイプラインの head または foot で複数のスクリプトを実行する場合、これらのスクリプトに優先順位を割り当てて実行順序を決定できます。
実行と終了
スクリプトの実行と終了は、次のルールに基づいて定義されます。
スクリプトの実行
ルールに
if condition {}が含まれており、conditionが true の場合、ルールモデルはルールがヒットしたと見なします。ルールに
if condition {}が含まれており、conditionが false の場合、またはルールにif condition {}構文が含まれていない場合、ルールモデルはルールがヒットしなかったと見なします。
スクリプトの終了
同じ場所で実行されるスクリプトの場合、スクリプトが実行されたときに後続のスクリプトをスキップすることを選択できます。