HTTP 遞送規則動作子表示式建置器

請利用子表示式建置器,透過 AND、OR、NOT 和括弧分組,從子表示式建置複式規則條件。 子表示式建置器會在您套用變更時驗證規則,並在括弧不對稱及邏輯運算子不受支援時發出警示。

如果要檢視 ODR 的這個管理主控台頁面,請按一下伺服器 > 伺服器類型 > 隨需應變路由器 > ODR > 隨需應變路由器內容 > 遞送原則 HTTP 規則 > 指定方式 > 表示式 > 子表示式建置器

如果要檢視 ODR 叢集的這個管理主控台頁面,請按一下伺服器 > 叢集 > 隨需應變路由器叢集 > ODR 叢集 > 隨需應變路由器內容 > 遞送原則 HTTP 規則 > 指定方式 > 表示式 > 子表示式建置器

選取運算元

遞送及服務原則運算元

依所選的通訊協定而定,會顯示不同的運算元。下表包括主控台所顯示的運算元名稱、將出現在表示式中的實際運算元、每個運算元的有效通訊協定,以及每個運算元的說明。

表 1. 運算元
要求變數 有效的通訊協定 說明
virtualhost

HTTP

SOAP

要求中的虛擬主機目標,用來將 Web 應用程式配置為特定的主機名稱。
虛擬埠

HTTP

要求中的虛擬埠目標,用來將 Web 應用程式配置為特定埠。
uri

HTTP

統一資源識別碼 (URI)。為了取得要求的路徑。如果 URL 是 "http://host:port/path?p1=v1",路徑會是 "path"。
使用者 ID   傳回傳送要求之已鑑別使用者的使用者 ID。
群組 ID   傳回傳送要求之已鑑別使用者的群組名稱清單。
要求查詢參數名稱   標頭名稱和值。
例如,queryparm$timezone='EST' 表示式會測試要求,以瞭解要求是否包含名稱為 timezone、值為 EST 的 HTTP 查詢參數。如果要測試查詢參數是否存在,請使用下列其中一種格式:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
要求標頭名稱

標頭名稱和值。
例如,header$Host='localhost' 表示式會測試要求,以瞭解它是否包含值為 localhost 的 HTTP 主機標頭。如果要測試主機標頭是否存在,請使用下列其中一個表示式:
header$Host IS NOT NULL 
header$Host IS NULL
Cookie 標頭名稱   Cookie 名稱。
例如,cookie$My_Cookie_Name='My_Cookie_Value' 表示式會測試要求,以瞭解它是否包含名稱為 My_Cookie_Name、值為 My_Cookie_Value 的 Cookie。如果要測試特定 Cookie 是否存在,請使用下列其中一個表示式:
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL
HTTPMethod

HTTP

SOAP

要求的 HTTP 方法。可能的值如下:POST、GET、PUT 和 DELETE。
clienthost

HTTP

SOAP

IIOP

SIP

完整的用戶端主機名稱。這是網際網路通訊協定 (IP) 指令主機名稱的值。此運算元支援 >、>=、<、<= 等數值運算子。
clientipv4

HTTP

SOAP

SIP

用戶端電腦的 IP 位址,使用「網際網路通訊協定」第 4 版 (IPv4) 帶點四段式位址類型 n.n.n.n
clientipv6

HTTP

SOAP

SIP

「網際網路通訊協定」第 6 版 (IPv6) 128 位元位址類型 x:x:x:x:x:x:x:x,遵循用戶端電腦的「意見請求 1924 (RFC 1924)」。
serverhost

HTTP

SOAP

IIOP

SIP

伺服器的完整主機名稱。此運算元支援 >、>=、<、<= 等數值運算子。
serveripv4

HTTP

SOAP

SIP

伺服器電腦的 IP 位址,使用 IPv4 帶點四段式位址類型 n.n.n.n
serveripv6

HTTP

SOAP

SIP

IPv6 128 位元位址類型 x:x:x:x:x:x:x:x,遵循伺服器電腦的 RFC 1924。
port

HTTP

SOAP

IIOP

SIP

收到要求的接聽埠。
protocol

HTTP

SOAP

傳輸要求的通訊協定。目前支援的通訊協定如下:HTTP、HTTPS、SOAP 和 SOAPS。
virtualportal

HTTP

SOAP

虛擬入口網站是在 WebSphere® Portal Server 之內建立的, Intelligent Management Deployment 支援這個運算元,以便能夠更妥善地整合 WebSphere Portal Server。虛擬入口網站是要求 URL 減去 WebSphere Portal 應用程式 Web 模組的環境定義根目錄。如果給定的要求符合定義的虛擬入口網站,則採用定義給此規則的遞送動作。
time

HTTP

SOAP

IIOP

此運算元是用來定義必須允許使用給定要求的日期和時間。兩個選用欄位是「開始時間」和「結束時間」。如果在所定義時間間隔之外收到要求,則要求不會加以處理。

「開始時間」和「結束時間」欄位皆使用下列格式:dayOfWeek/dayOfMonth/month/year::hour:minute:second

例如,2007 年 4 月 11 日星期四下午 1 點 3 分 45 秒指定為:

Thu/11/Apr/2007::13:03:45

任何欄位都可以在值中使用萬用字元 *。例如,每月的第一天可指定為 */1。

dayofWeek 值是 Sun、Mon、Tue、Wed、Thu、Fri、Sat,而 dayOfMonth 值的範圍是 1 到 31。

month 值是非數值,代表十二個月份:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec。

year 值是由年份的四位數字組成。例如,2007。

hour 值是當日時刻,24 小時表示法。例如,上午 8 點表示為 ::8。minutesecond 是範圍 0 到 59 的整數。

正斜線 (/) 是用來分開日期參數,雙冒號 (::) 是用來分開日期和時間值,冒號 (:) 是用來分開日期時間參數。 請注意,它是使用 time 運算元的整個規則 Boolean 結果,判定要採取的遞送動作。

percentage$<val>

HTTP

SOAP

IIOP

SIP

對於時間的固定百分比,percentage 運算元求值為 true。例如,對於時間平均值 50%,percentage$50 求值為 true
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

對於時間的可變百分比,rampup 運算元求值為 true。如果在 <startTime> 之前,則 rampup 運算元一律求值為 false;如果在 <completionTime> 之後,則 rampup 運算元一律求值為 true。當時間以線性遞增百分比從 <startTime> 進展到 <completionTime> 時,rampup 運算元將求值為 true

<startTime><completionTime> 的格式是 day/month/year::hour:min:sec

其中,day 是月份中的日期,month 是十二個月份之一:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec,year 是 4 位數年份,hour 是 24 小時表示法的 2 位數小時,而 minsec 分別是表示分鐘及秒鐘的 2 位數值。

例如,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 在 2007 年 1 月 1 日上午 8 點開始時,偶而求值為 true,但在同一天的加速完成時間下午 5 點,一律求值為 true

運算子

  • 等於且不區分大小寫 (EQUALSIGNORECASE):與 '字串 = 字串' 相同, 不同之處在於會忽略字串的大小寫。因此 'ABC' EQUALSIGNORECASE 'abc' 會求值為 true。('ABC' = 'abc') 會求值為 false。
  • 不等於 (<>):不等於運算子表示運算元值不等於您輸入的值。
  • In (IN):這個運算子表示在單一表示式中有多個值的運算元。例如,對於稱為 port 的運算元,如果您要表示埠值可以是 908090909091 之類值的任何一項或全部,表示式片段便是 port IN (9080,9090,9091)。方括弧內的值之表示方式視埠的資料類型而定。如果埠是整數,則正確的語法是沒有引號的值。如果埠是字串,則正確的語法是 port IN (‘9080’, ‘9090’, ‘9091’)
  • 類似 (LIKE):這個運算子表示對字串運算元值進行型樣比對。此值必須在型樣比對的根目錄位置中,包含百分比符號 (%) 萬用字元。例如,表示式 host LIKE %blanca 會符合 blanca 一字或是結尾為 blanca 的其他任何單字,表示式 host LIKE blanca% 會符合 blanca 一字或是開頭為 blanca 的其他任何單字,而表示式 host LIKE %blanca% 則會符合 blanca 一字或是其中內嵌 blanca 的其他任何單字。
  • 類似且不區分大小寫 (LIKEIGNORECASE):與 '字串類似字串',不同之處在於會忽略字串的大小寫。
  • 非空值 (IS NOT NULL):這個運算子表示查詢的驗證作業顯示所要求的參數存在。
  • 連結 (+):這個運算子表示兩個字串結合在一起:'abc' + 'def' = 'abcdef'。
  • Like In (LIKEIN):這個運算子表示如果 "likein" 左側的字串符合一或多個字串 (stringN), 則 string likein(string1、string2、string3 等)會求值為 true
  • 為空值 (IS NULL):這個運算子表示查詢的驗證作業顯示所要求的參數不存在。
  • 等於 ( = ):這個相等運算子表示一個區分大小寫的相符項目。

請依所選的運算子,輸入代表您要建立之子表示式的值。

子表示式建置器

產生子表示式作為您指定的運算元、運算子和值的結果。

附加

將子表示式新增到新規則中。



檔名:http_subexpression.html