WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

HTTP 要求からの区画名の抽出

区画名は、要求表現を使用して HTTP 要求から抽出します。 要求表現は、一致表現および分類公式の 2 つのストリングで構成されています。また、これらのストリングにより Java 対応の正規表現に基づいて HTTP 要求を分類するメカニズムもあります。 一致表現は、URL または照会ストリングの部分にどのように一致するかを指定するものです。 分類公式は、URL および照会ストリングのどの部分が区画を指定するのかを示すものであり、 一致表現が一致した場合に使用されます。

オンデマンド・ルーター (ODR) では、HTTP 要求を区画化するかどうかを 判断する場合に、java.util.regex パッケージのパターンとマッチングのクラスが使用されます。 アプリケーション固有の一致表現との一致が見られた場合、その要求には区画が 関連付けられていることになります。 ODR では、まず URL と照会ストリングが単一のストリングに連結され、すべてのアプリケーション固有の一致表現から作成されたパターンを呼び出します。 突き合わせ時に、分類公式に基づいて区画名の作成方法が決まります。 特殊文字 $ 記号は、使用する一致表現の一部を示します。

具体例として、一致表現が (user=)(*)$ であり、分類公式が $2 である場合について考えてみます。 $2 によって、一致表現のうち対応する (.*) の部分が 取得されます。この部分が一致パターンの 2 番目の部分だからです。 例えば、www.ibm.com/something/user=fred という URL の 場合、$1 は user= に対応し、$2 は fred に対応します。

次に、(user=)(*)(rodriguez)$ という一致表現について考えてみます。 user=adolforodriguez という文字列を含む URL が要求とともに到着したとします。分類公式が $2 の場合、区画名は adolfo になります。分類公式が mypartition$2 であれば、要求の区画名 は mypartitionadolfo になります。同様に、分類公式が $2$3 の場合は、adolforodriguez という区画名になります。

一致表現がオーバーラップする場合もあります。例えば、(user=)(*)$ および (user=)(*)& という 2 つの一致表現を使用し 、user=adolfo&Submit=Enter という記述を含む照会ストリングを備えた URL を受け取った場合、どちらの表現にも一致します。 分類公式が $2 であれば、前者の表現によって adolfo&Submit=Enter が 抽出され、後者の表現によって adolfo が抽出されます。 この場合、adolfo のみが有効な区画名であるため、 これが区画名として選択されます。 通常は「できるだけ具体的な」正規表現の使用が望ましいのですが 、HTTP 区画化では特定の表現が優先されるような仕組みになっています。 有効な区画名が見つかるまで、 または有効な区画名が見つからない場合は、すべての表現が適用されます。




Related concepts
HTTP 区画化

Concept topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:35:11 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/cwpfhttpnames_pdf.html

© Copyright IBM 2005, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)