HTTP 規則表示式建置器

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

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

如果要利用規則建置器來修改規則,您必須有管理者的管理專用權。

選取運算元

遞送及服務原則運算元

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

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

application

IIOP EJB 所在「企業應用程式」的名稱。
clienthost

HTTP

SOAP

IIOP

SIP

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

clientport

IIOP 用戶端埠名稱。
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)」。
Contact header

SIP

「聯絡」標頭欄位。

Contact URI

SIP

「聯絡」標頭欄位中的 URI。

cookie$<name>

HTTP

SOAP

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

ejbmodule

IIOP EJB 的模組名稱。

ejbname

IIOP EJB 的名稱。

ejbmethod

IIOP EJB 內的方法名稱。
From header

SIP

「來源」標頭欄位。

From header display name

SIP

「來源」標頭欄位中的顯示名稱。

From URI

SIP

「來源」標頭欄位中的 URI。

From URI host

SIP

「來源」標頭欄位中的主機。

From URI port

SIP

「來源」標頭欄位中的 URI 埠。

From URI user

SIP

「來源」標頭欄位中的使用者。

header$<name>

HTTP

SOAP

SIP

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

HTTP

SOAP

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

HTTP

SOAP

要求的 MIME 類型。
operation SOAP Web 服務作業的名稱。
percentage$<val>

HTTP

SOAP

IIOP

SIP

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

HTTP

SOAP

IIOP

SIP

收到要求的接聽埠。
protocol

HTTP

SOAP

傳輸要求的通訊協定。目前支援的通訊協定如下:HTTP、HTTPS、SOAP 和 SOAPS。
queryparm$<name>

HTTP

SOAP

標頭名稱和值。例如,queryparm$timezone='EST' 表示式會測試要求,以瞭解要求是否包含名稱為 timezone、值為 EST 的 HTTP 查詢參數。如果要測試查詢參數是否存在,請使用下列其中一種格式:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
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
Request transport

SIP

要求的傳輸。

Request URI

SIP

要求 URI。

Request URI host

SIP

要求 URI 主機。

Request URI port

SIP

要求 URI 埠。

Request URI user

SIP

要求 URI 使用者。

Scheme of From header

SIP

「來源」標頭欄位中的架構。

Scheme of To header

SIP

「目標」標頭欄位中的架構。

Scheme of URI

SIP

URI 架構。

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。
service

SOAP

Web 服務的名稱。
SIP 方法

SIP

要求的方法。可能的值如下:INVITE、TRYING、RINGING、ACK、OK 及 BYE。如果訊息不是要求,則此運算元傳回空值。

回應碼

SIP

回應的回應碼。如果訊息不是回應,則此運算元傳回 -1。

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 結果,判定要採取的遞送動作。

To client host

SIP

「目標」標頭欄位中的用戶端主機。

To header

SIP

「目標」標頭欄位。

To header display name

SIP

「目標」標頭欄位中的顯示名稱。

To URI

SIP

「目標」標頭欄位中的 URI。

To URI host

SIP

「目標」標頭欄位中的 URI 埠。

To URI user

SIP

「目標」標頭欄位中的使用者。

virtual host

HTTP

SOAP

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

SOAP

XPath 字串表示式有一個用來包含 XPath 表示式的必要欄位,以及一個用來定義本端名稱空間的選用欄位。如果 XPath 表示式所包含的名稱空間都是標準名稱空間,便可能選用第二個欄位。如果有多個本端名稱空間,請用逗點 (,) 來分開各個名稱空間。以下是含有一個本端名稱空間定義的 xpathexpr 範例:
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

在前一個表示式中,XPath 表示式是 /soap:Envelope/soap:Body/n:getTimeZone/n:clientId。它包含本端名稱空間 n。因此,xpathexpr 的第二個欄位定義為 n \\=http://test.classify.ws.ibm.com。錢幣符號 ($) 是用來表示欄位定義的開始。雙反斜線在本範例中是 ESC 序列。第一個等號 (=) 已轉義,因為它是本端名稱空間定義的一部分,而第二個等號 (=) 是分類表示式中的運算子,因此不能轉義。

以下是含有兩個本端名稱空間的 xpathexpr 範例:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

以下是 xpathexpr 的標準名稱空間清單:

表 1. 名稱空間
名稱空間 URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
運算子
  • = 相等運算子表示區分大小寫的相符項目。
  • <> 不等於運算子表示運算元值不等於您輸入的值。
  • > 大於運算子用於數字。
  • >= 大於或等於運算子用於數字。
  • < 小於運算子用於數字。
  • <= 小於或等於運算子用於數字。
  • AND:xx AND yy, 而言,表示同時包含 xxyy 的相符項目。
  • BETWEEN:這個運算子用來搭配 AND,以選取包含第一個值(或低值)到最後一個值(或高值)的值範圍。它們一起運作於數字和日期。
  • EXISTS:這個布林運算子會檢查運算元或複合子表示式的結果,例如,當檢查某些 HTTP 標頭元素屬性時,便是如此。
  • IN:這個運算子表示在單一表示式中有多個值的運算元。例如,對於稱為 port 的運算元,如果您要表示埠值可以是 908090909091 之類值的任何一項或全部,表示式片段便是 port IN (9080,9090,9091)。方括弧內的值之表示方式視埠的資料類型而定。如果埠是整數,則正確的語法是沒有引號的值。如果埠是字串,則正確的語法是 port IN (‘9080’, ‘9090’, ‘9091’)
  • IS NULL:這個運算子表示查詢的驗證作業顯示所要求的參數不存在。
  • IS NOT NULL:這個運算子表示查詢的驗證作業顯示所要求的參數存在。
  • LIKE:這個運算子表示字串運算元值的型樣比對。此值必須在型樣比對的根目錄位置中,包含百分比符號 (%) 萬用字元。例如,表示式 host LIKE %blanca 會符合 blanca 一字或是結尾為 blanca 的其他任何單字,表示式 host LIKE blanca% 會符合 blanca 一字或是開頭為 blanca 的其他任何單字,而表示式 host LIKE %blanca% 則會符合 blanca 一字或是其中內嵌 blanca 的其他任何單字。
  • NOT:對 NOT xx 而言,這個運算子表示不包含 xx 的相符項目。
  • OR:對 xx OR yy 而言,這個運算子表示包含 xxyy 的相符項目。

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

產生子表示式

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

附加

請按一下這裡,在規則畫面上附加到此框。




WebSphere Virtual Enterprise 資訊中心(線上)

相關資訊
遞送原則 HTTP 規則

http_rulebuilder_detail