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

Partitionsnamen aus HTTP-Anforderungen extrahieren

Partitionsnamen werden aus Anforderungsausdrücken der HTTP-Anforderungen extrahiert. Ein Anforderungsausdruck setzt sich aus zwei Zeichenfolgen zusammen: dem Abgleichausdruck und der Klassifizierungsformel. Beide Zeichenfolgen zusammen bilden einen Mechanismus für die Klassifizierung von HTTP-Anforderungen basierend auf regulären Ausdrücken, die in Java unterstützt werden. Der Abgleichausdruck bestimmt, wie ein Teil des URL und der Abfragezeichenfolge abgeglichen wird. Die Klassifizierungsformel gibt den Teil des URL und der Abfragezeichenfolge an, der die Partition nach Abgleich des Ausdrucks enthält.

Für die Feststellung, ob eine HTTP-Anforderung partitioniert werden soll, verwendet der On Demand Router das Muster und die entsprechenden Klassen des Pakets java.util.regex. Wenn eine Übereinstimmung mit einem in der Anwendung definierten Abgleichausdruck gefunden wird, hat die Anforderung eine zugehörige Partition. Der ODR fasst den URL und die Abfragezeichenfolge zuerst zu einer Zeichenfolge zusammen und ruft dann die Muster aus, die aus den in der Anwendung angegebenen Abgleichausdrücken erstellt wurden. Wenn eine Übereinstimmung gefunden wird, bestimmt die Klassifizierungsformel, wie der Partitionsname erstellt wird. Das Sonderzeichen $ gibt den zu verwendenden Teil des Abgleichausdrucks an.

Stellen Sie sich vor, der Abgleichausdruck ist (user=)(*)$ und die Klassifizierungsformel ist $2. $2 verwendet den Teil der Übereinstimmung, der (.*) entspricht, weil es der zweite Teil des Abgleichmusters ist. Wenn sich der URL beispielsweise aus www.ibm.com/something/user=fred zusammensetzt, entspricht $1 der Angabe user= und $2 der Angabe fred.

Legen wir den Abgleichausdruck (user=)(*)(rodriguez)$ zugrunde. Angenommen, es kommt eine Anforderung mit einem URL an, der die Angabe user=adolforodriguez enthält. Mit der Klassifizierungsformel $2 ist der entsprechende Partitionsname adolfo. Wenn Sie mypartition$2 als Klassifizierungsformel verwenden, erhält die Partition den Namen mypartitionadolfo. Bei Anwendung der Klassifizierungsformel $2$3 ist der Partitionsname adolforodriguez.

Abgleichausdrücke können überlappen. Wenn Sie beispielsweise die Abgleichausdrücke (user=)(*)$ und (user=)(*)& verwenden und ein URL mit der Abfragezeichenfolge user=adolfo&Submit=Enter ankommt, wird für beide Ausdrücke eine Übereinstimmung gefunden. Der erste Ausdruck extrahiert adolfo&Submit=Enter mit der Klassifizierungsformel $2, und der zweite Ausdruck extrahiert adolfo. Da nur adolfo ein gültiger Partitionsname ist, wird er ausgewählt. Während in der Regel der spezifischste reguläre Ausdruck verwendet wird, versucht die HTTP-Partitionierung, einen bestimmten Ausdruck einem anderen vorzuziehen. Es werden alle Ausdrücke ausgewertet, bis ein gültiger Partitionsname gefunden oder festgestellt wird, dass keiner vorhanden ist.




Related concepts
HTTP-Partitionierung

Konzeptartikel    

Nutzungsbedingungen | Feedback Letzte Aktualisierung: Mar 23, 2006 9:57:42 AM 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. Alle Rechte vorbehalten.
Dieses Information Center beruht auf der Eclipse-Technologie. (http://www.eclipse.org)