本文為您介紹EdgeScript的運行原理、規則模型、執行位置與優先順序、命中與中斷執行。
運行原理
您配置的邊緣指令碼規則與CDN控制台上的標準配置一樣,都是對CDN請求進行處理。邊緣指令碼的執行位置如圖所示,當用戶端請求到達CDN節點後,節點網關會根據您在控制台上設定的標準配置、邊緣指令碼規則對請求進行處理。以CDN控制台上的標準配置為參照物,邊緣指令碼可選擇在請求處理的最前面或最後面生效。

規則模型
EdgeScript的規則模型如下:
EdgeScript的規則模型的核心出發點是將不同業務功能隔離至不同規則,以及控制規則的執行流。
EdgeScript的規則模型中的每條規則可以各自選擇規則的執行位置(即介入請求處理的位置)和優先順序。
EdgeScript的規則模型以網域名稱維度生效。
執行位置與優先順序
EdgeScript的執行位置與優先順序如下:
執行位置
EdgeScript規則的執行位置為請求處理開始和請求處理結尾。
請求處理開始:常用應用情境為一次鑒權、攔截、限速等。
請求處理結束:常用應用情境為緩衝設定、回源鑒權、A/B Test等。

優先順序
處於同一執行位置的多條規則,可以通過選擇優先順序,決定其先後執行順序。
命中與中斷執行
EdgeScript的命中與中斷執行如下:
EdgeScript規則的命中定義
如果規則中包含
if condition {}文法 ,且condition為真時,規則模型認為該規則命中。如果規則中包含
if condition {}文法,且condition為假時,或者規則中不包含if condition {}文法時,規則模型認為該規則未命中。
EdgeScript規則的中斷執行
對於命中規則,可以選擇終止本階段剩餘規則的執行。