[AIX Solaris HP-UX Linux Windows][z/OS]

Intelligent Management: HTTP オペランド

HTTP オペランドは、副次式ユーティリティー・ビルダーで使用します。このビルダーはオプション・ツールであり、AND、OR、NOT、および括弧によるグループ化を使用することで、副次式から複雑なルール条件を作成する際に役立ちます。

規則

それぞれの作業クラスは、オプションの番号付きルールのリストを含みます。 このルールは、特定の要求について評価され、その要求に対するポリシーを 決定します。それぞれのルールはブール式とポリシー値で 構成されます。式が特定の要求を真と評価した場合、 そのルールに関連したポリシーが使用されます。

ルールに対するブール式の構文とセマンティクスは、 Structured Query Language (SQL) 式の WHERE 文節に 似ています。具体的には、式の構文は Java™ Message Service (JMS) 1.1 仕様 で定義されます。詳しくは、ルール・ベースの要求分類についてお読みください。

JMS 仕様では、 ID は特定の照会パラメーター、Cookie、HTTP ヘッダーなど、 要求に関連するさまざまな属性を 参照します。JMS ID は要求変数またはオペランド と考えることができます。このオペランドはプロトコル固有のものである場合があります。例えば、SOAP サービス名は、 SOAP 作業クラスでのみ有効なオペランドです。

SOAP は HTTP 上にあるので、SOAP 要求では HTTP オペランドも有効です。JMS 仕様はリテラルを使用して、要求変数との比較に使用する特定の 値を指定します。例えば、式
clienthost LIKE '%.ibm.com'
で、'%.ibm.com' は要求のクライアント・ホスト名との比較に使用されるリテラルです。この式は、ibm.com® ドメインのコンピューターから発信されるすべての要求に対して、 真です。ストリング・リテラルを単一引用符で 囲みます。数字リテラルは単一引用符で囲まないで ください。ANDORNOT 演算子を含む括弧も、複合ブール式の形成に 使用できます。詳しくは、JMS 1.1 仕様 を参照してください。

HTTP 要求オペランド

表 1. HTTP 要求オペランド
オペランド 構文 説明

クライアント・ホスト

clienthost 完全修飾クライアント・ホスト名。これは、 インターネット・プロトコル (IP) コマンド・ホスト名の値です。 このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません

クライアント IPV4

clientipv4 Internet Protocol version 4 (IPv4) ドット付きクワッドのアドレス・タイプ n.n.n.n を使用したクライアントの IP アドレス。

クライアント IPV6

clientipv6 クライアント・コンピューターの Request for Comments 1924 (RFC 1924) に準じた、 Internet Protocol バージョン 6 (IPv6) 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

Cookie 名

cookie$<name> Cookie (クッキー) 名。
例えば、式 cookie$My_Cookie_Name='My_Cookie_Value' は要求をテストし、その要求が、値が My_Cookie_Value である My_Cookie_Name という名の Cookie を含むかどうかを確かめます。ある特定の Cookie が存在するかどうかをテストするには、 次の式のいずれかを使用します。
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ヘッダー名

header $<name> ヘッダー名と値。
例えば、式 header$Host='localhost' は、要求をテストし、 値が localhost である HTTP ホスト・ヘッダーを含むかどうかを確かめます。ホスト・ヘッダーが存在するかどうかをテストするには、 次の式のいずれかを使用します。
header$Host IS NOT NULL 
header$Host IS NULL

HTTP メソッド

HTTPMethod 要求に対する HTTP メソッド。考えられる値は、 POST、GET、PUT、DELETE です。

MIME タイプ

MIMEType 要求の MIME タイプ

割合

percentage$<val> パーセンテージ・オペランドは、時間の固定パーセンテージに対して true に評価されます。

例えば、percentage$50 は、時間のパーセンテージが平均で 50% の場合に true に評価されます。

Port

port 要求を受け取った listen ポート。

Protocol

protocol 要求を伝送する通信プロトコル。 現在サポートされているプロトコルは、HTTP、HTTPS、SOAP、SOAPS です。

照会パラメーター

queryparm$<name> ヘッダー名と値。
例えば、式 queryparm$timezone='EST' は要求をテストし、 その要求が EST の値を持つ timezone という名の HTTP 照会パラメーターを含むかどうかを確認します。照会パラメーターが存在するかどうかをテストするには、 次の式のいずれかを使用します。
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

ランプアップ

rampup$<startTime>

  $<completionTime>

ランプアップ・オペランドは、時間の可変パーセンテージに対して true に評価されます。 このオペランドは、<startTime> より前は常に false に、<completionTime> より後は常に true に評価されます。時間が <startTime> から <completionTime> に進行するにつれ、このオペランドが true に評価される確率が高まります。

<startTime> および <completionTime> の形式は、day/month/year::hour:min:sec です。

ここで、day は日付、month は 12 カ月のうちいずれかの月 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)、year は 4 桁の年、hour は、24 時間クロックで表した時の 2 桁の時間、minsec はそれぞれ分と秒です。

以下に例を示します。

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 は、2007 年 1 月 1 日午前 8 時から 時折 true に評価されるようになり、同日の午後 5 時のランプアップ完了時刻に至る頃には 常に true に評価されています。

URI のスキーム

request.uri.scheme

URI のスキーム。

サーバー・ホスト

serverhost サーバーの完全修飾ホスト名。このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません

サーバー IPV4

serveripv4 IPv4 ドット付きクワッドのアドレス・タイプ n.n.n.n を使用する、サーバー・コンピューターの IP アドレス。

サーバー IPV6

serveripv6 サーバー・コンピューターの RFC 1924 に準じた、IPv6 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

サービス

service Web サービスの名前。

時間

time

指定された要求が権限を持つ必要がある 日付と時刻を定義するために使用します。2 つのオプション・フィールドは StartTime と EndTime です。要求が定義済みウィンドウの外側で受け取られる場合、 その要求は処理されません。

「開始時刻」フィールドと「終了時刻」フィールドの フォーマットはそれぞれ dayOfWeek/dayOfMonth/month/year::hour:minute:second です。

例えば、 2007 年 4 月 11 日、木曜日午後 1:03:45 は、次のように指定されます。

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

dayofWeek 値は Sun、Mon、Tue、Wed、Thu、Fri、Sat、dayOfMonth 値は 1 から 31 の範囲です。

month 値は 12 カ月を表す非数値の Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、 Dec です。

year 値は、4 桁の年で構成されます。例えば、 2007 です。

hour 値は、24 時間クロックの時間です。 例えば、午前 8 時は ::8 と表します。minute および second は 0 から 59 の範囲の整数です。

注: time オペランドには、省略およびワイルドカードはサポートされません。

スラッシュ (/) は、日付パラメーターを区切るために 使用し、ダブル・コロン (::) は日付パラメーターを区切るために使用し、 コロン (:) は時刻パラメーターを区切るために使用します。これで、実行される ルーティング・アクションを決定するのは、time オペランドが使用される ルール全体のブール結果となります。

URI

uri

Uniform Resource Identifier

仮想ホスト

virtualhost

Web アプリケーションを特定のホスト名に対して構成するために使用される要求の仮想ホスト・ターゲット。

仮想ポータル

virtualport

Web アプリケーションを特定のポートに対して構成するために使用される要求の仮想ポート・ターゲット。

仮想ポータル

virtualportal

仮想ポータルは WebSphere® Portal Server 内で作成され、Intelligent Management は、WebSphere Portal Server との 統合を向上するためにこのオペランドをサポートします。仮想ポータルは、要求 URL から WebSphere Portal アプリケーションの Web モジュールのコンテキスト・ルートを取り除いたものです。指定された要求が定義済みの仮想ポータルと一致した場合、そのルールに対して定義された ルーティング・アクションが実行されます。

HTTP 応答オペランド

カスタム・ログ・ファイルを使用している場合、表 1 のオペランドに加えて、以下のオペランドを使用できます。
表 2. HTTP 応答オペランド
オペランド 構文 説明

応答コード

response.code

404 や 503 などの HTTP 応答コードでフィルターに掛けます。

応答時間

response.time

ODR の要求が受信された時点と、ODR から応答が送信されるまでの間の時間 (ミリ秒)。

応答書き込みエラー

response.write.error

クライアントに対する応答の書き込み中に発生するエラーを記録します。

サービス時間

service.time

要求がアプリケーション・サーバーに送信された時点と、アプリケーション・サーバーからの応答が受信された時点との間の時間 (ミリ秒)。

ターゲット・サーバー

targetserver

WebSphere Application Server 形式で要求が送信された場合の宛先サーバーを示します。例えば、「mycell/mynode/myserver」などとなります。

Xpath 式

Xpath 式の構文は xpathexpr であり、HTTP でサポートされます。

XPath ストリング式には、ローカル・ネーム・スペースを定義するための XPath 式およびオプション・フィールドを含む必須フィールドがあります。XPath 式に含まれるすべてのネーム・スペースが標準である場合、 2 番目のフィールドはオプションにすることができます。複数のローカル・ネーム・スペースがある場合、 それぞれのネーム・スペースをコンマ (,) で区切ります。

以下の例では、1 つのローカル名前空間定義を持つ xpathexpr を示しています。

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

上記の式では、XPath 式は /http:Envelope/soap:Body/n:getTimeZone/n:clientId です。 これにはローカル・ネーム・スペース n が含まれます。そのため、xpathexpr の 2 番目のフィールドは n¥¥=http://test.classify.ws.ibm.com と定義されます。 ドル記号 ($) は、フィールド定義の開始を示すために使用します。ダブル円記号は、 この例のエスケープ・シーケンスです。最初の等号 (=) は、 ローカル・ネーム・スペース定義の一部なのでエスケープされます。 一方、2 番目の等号 (=) は種別式の演算子で、 エスケープされてはなりません。

以下の例では、2 つのローカル名前空間定義を持つ xpathexpr を示しています。

xpathexpr$/http:Envelope/http: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 式の標準名前空間を示しています。
表 3. 名前空間
名前空間 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/

演算子

Intelligent Management は、ルール式で以下の表の演算子をサポートします。これらの演算子は、WHERE または HAVING 文節の内部に現れるので、SQL 用語では述部 とも呼ばれます。演算子は大/小文字を区別しません。

  • 等しい - 大/小文字を無視 (EQUALSIGNORECASE): ストリングの大/小文字が無視される点を除いて、「String = String」と同じです。したがって、'ABC' EQUALSIGNORECASE 'abc' は TRUE と評価されます。('ABC' = 'abc') は FALSE と評価されます。
  • 等しくない (<>): 非等価演算子は、オペランド値が入力された値に等しくないことを表します。
  • 内 (IN): この演算子は、単一の式に複数の値を持つオペランドを表します。 例えば、port というオペランドで、その port の値を 908090909091 のいずれか、またはすべてにできることを表す場合、 式フラグメントは port IN (9080,9090,9091) になります。 括弧内の値の表現方法は、port のデータ・タイプにより異なります。port が整数の場合、正しい構文は引用符なしの値です。ポートがストリングの場合、正しい構文は port IN (‘9080’,‘9090’,‘9091’) です。
  • 類似 (LIKE): この演算子は、ストリング・オペランド値のパターン・マッチングを表します。値には、パターン・マッチングを開始する位置にワイルドカード文字の % 記号が含まれている必要があります。 例えば、host LIKE %blanca という式は、blanca という語または blanca で終わるすべての語に一致し、host LIKE blanca% という式は、blanca という語または blanca で始まるすべての語に一致し、host LIKE %blanca% という式は、blanca という語または blanca が組み込まれたすべての語と一致します。
  • 類似 - 大/小文字を無視 (LIKEIGNORECASE): ストリングの大/小文字が無視される点を除いて、「string like string」と同じです。
  • NULL 以外 (IS NOT NULL): この演算子は、照会の妥当性検査で、要求されたパラメーターが存在することが示されたことを表します。
  • 連結 (+): この演算子は、2 つの文字ストリングの結合を表します。例: 'abc' + 'def' = 'abcdef'。
  • 類似 - 内 (LIKEIN): この演算子は、「string likein (string1, string2, string3, etc)」という式で、likein の左側にあるストリングが 1 つ以上のストリング (stringN) と一致する場合、この式が TRUE と評価されることを示します。
  • NULL (IS NULL): この演算子は、照会の妥当性検査で、要求されたパラメーターが存在しないことが示されたことを表します。
  • 等しい (=): 等価演算子は、大/小文字を区別した一致を表します。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrhttp
ファイル名:rwve_odrhttp.html