このトピックでは、EdgeScript (ES) の仕組み、ES内のスクリプトのモデル、スクリプトが実行される位置、スクリプトの優先順位、スクリプトの実行と終了について説明します。
EdgeScriptのしくみ
ESを使用して作成されたスクリプトは、CDN コンソールで指定された標準設定と同じです。 CDN ポイントオブプレゼンス (POP) に送信されるリクエストを処理します。 スクリプトの実行位置を次の図に示します。 CDN POPがリクエストを受信すると、POPはAlibaba Cloud CDNコンソールの設定とESのスクリプトに基づいてリクエストを処理します。 リクエスト処理パイプラインでは、スクリプトを実行する位置を指定できます。 スクリプトは、CDN コンソールの設定が適用される前 (head) または適用後 (foot) に実行できます。
モデル
ESのスクリプトは、次のモデルに基づいて実行されます。
ESはスクリプトを実行してさまざまな機能を実現します。 関数は、スクリプトの条件が満たされた場合にのみトリガーされます。
リクエスト処理パイプラインでは、スクリプトを実行する位置とスクリプトの優先度を指定できます。
ESのスクリプトはドメイン名に基づいて管理されます。
ポジションと優先順位
スクリプトを実行するための位置と優先順位は次のとおりです。
ポジション
スクリプトは、リクエスト処理パイプラインの先頭または末尾で実行できます。
Head: 認証、ブロッキング、およびスロットル用。
フット: キャッシュ設定、back-to-origin認証、およびA/Bテスト用。
Priorities
リクエスト処理パイプラインの先頭または最下部で複数のスクリプトを実行する場合は、これらのスクリプトに優先順位を割り当てて実行順序を決定できます。
実行と終了
スクリプトの実行と終了は、次のルールに基づいて定義されます。
スクリプトの実行
スクリプトの
return true
で終了する条件が満たされると、スクリプトが実行されます。スクリプトの
return false
で終了する条件が満たされた場合、スクリプトはスキップされます。
スクリプトの終了
同じ位置で実行されるスクリプトの場合、スクリプトの実行時に後続のスクリプトをスキップすることを選択できます。