# HTTP szabály kifejezés összeállító

A részkifejezés összeállító használatával összetett szabály feltételek építhetők össze részkifejezésekből AND, OR, NOT és zárójeles csoportosítással. A szabály összeállító érvényesíti a szabályt a módosítások alkalmazásakor és figyelmeztet a hibásan párosított zárójelekre és a nem támogatott logikai operátorokra.

Az adminisztrációs konzol oldal megjelenítéséhez kattintson a Kiszolgálók > Kiszolgálótípusok > Igény szerinti útválasztók > ODR > Igény szerinti útválasztó tulajdonságai > Útválasztási irányelv HTTP szabályok > Hozzáadás > Részkifejezés-készítő lehetőségre.

Ha a szabályokat a szabálykészítővel módosítani kívánja, akkor ehhez adminisztrációs jogosultságokkal kell rendelkeznie.

## Operandus kiválasztása

### Továbbítási és szolgáltatási irányelv operandusok

A kijelölt protokolltól függően eltérő operandusok jelennek meg. A következő tábla a konzolon megjelenített operandus neveket, a tényleges operandust, amint az a kifejezésben megjelenik, az egyes operandusokhoz érvényes protokollokat és az egyes operandusok leírását tartalmazza.

1. táblázat: Operandusok
Kérés változó | Érvényes protokollok | Leírás
--- | --- | ---
`virtualhost` | HTTP SOAP | A kérés virtuális hoszt célja, amellyel a webalkalmazások adott hosztnévhez állíthatók be.
`virtualport` | HTTP | A kérés virtuális port célja, amellyel a webalkalmazások adott porthoz állíthatók be.
`uri` | HTTP | Egységes erőforrás-azonosító. A kérés útvonalát adja meg. Ha az URL "http://host:port/path?p1=v1", akkor az útvonal: "path".
`Felhasználói azonosító` |  | A kérést küldő hitelesített felhasználó felhasználói azonosítóját adja vissza.
`Csoportazonosítók` |  | A kérést küldő hitelesített felhasználó csoportnév listáját adja vissza.
`Kérés lekérdezés paraméter neve` |  | A fejléc neve és értéke. Például, a `queryparm$timezone='EST'` kifejezés egy kérést tesztel, hogy megállapítsa, hogy a kérés tartalmaz-e `timezone` nevű HTTP lekérdezési paramétert `EST` értékkel. Egy lekérdezési paraméter jelenlétének vagy hiánynak teszteléséhez használja a következő űrlapok egyikét:
    queryparm$timezone IS NOT NULL
    queryparm$timezone IS NULL
`Kérés fejléc neve` |  | A fejléc neve és értéke. Például, a `header$Host='localhost'` kifejezés egy kérést tesztel, hogy lássa, hogy tartalmaz-e HTTP hosztfejlécet `localhost` értékkel. A hosztfejléc jelenlétének vagy hiányának teszteléséhez használja a következő kifejezések egyikét:
    header$Host IS NOT NULL
    header$Host IS NULL
`Cookie fejléc neve` |  | Cookie neve. Például, a `cookie$My_Cookie_Name='My_Cookie_Value'` kifejezés egy kérést tesztel, hogy ellenőrizze, hogy az tartalmaz-e `Saját_Cookie_Neve` nevű cookie-t `Saját_Cookie_Érték` értékkel. Az adott cookie jelenlétének vagy hiányának teszteléséhez használja a következő kifejezések egyikét:
    cookie$SajátCookieNeve IS NOT NULL
    cookie$SajátCookieNeve IS NULL
`HTTPMethod` | HTTP SOAP | A kérés HTTP metódusa. A lehetséges értékek: POST, GET, PUT és DELETE.
`clienthost` | HTTP SOAP IIOP SIP | A teljes képzésű ügyfél állomásnév. Ez az internet protokoll (IP) parancs állomásnév értéke. Ez az operandus nem támogatja az olyan numerikus operátorokat, mint a `>, >=, <, <=`.
`clientipv4` | HTTP SOAP SIP | Az ügyfél számítógép IP címe a 4. változatú internet protokoll (IPv4) pontozott négyes címtípusának használatával: `n.n.n.n`.
`clientipv6` | HTTP SOAP SIP | Az internet protokoll 6. változatának (IPv6) 128-bites címtípusa: `x:x:x:x:x:x:x:x` az ügyfél számítógép Megjegyzések kérése 1924 (RFC 1924) követésével.
`serverhost` | HTTP SOAP IIOP SIP | A kiszolgáló teljes képzésű állomásneve. Ez az operandus nem támogatja az olyan numerikus operátorokat, mint a `>, >=, <, <=`.
`serveripv4` | HTTP SOAP SIP | A kiszolgáló számítógép IP címe az IPv4 `n.n.n.n` pontozott címtípus használatával.
`serveripv6` | HTTP SOAP SIP | Az IPv6 `x:x:x:x:x:x:x:x` típusú 128-bites címe a kiszolgáló számítógép RFC 1924 kérése után.
`port` | HTTP SOAP IIOP SIP | A figyelőport, amelyen a kérés érkezett.
`protokoll` | HTTP SOAP | A kérést továbbító kommunikációs protokoll. A jelenleg támogatott protokollok a HTTP, HTTPS, SOAP és SOAPS
`virtualportal` | HTTP SOAP | A WebSphere® Portal Server és az Intelligent Management rendszerekben létrehozott virtuális portálok támogatják ezt az operandust a WebSphere Portal Server rendszerrel történő jobb integrációhoz. A virtuális portál a kérés URL címéből a WebSphere Portal alkalmazás webmoduljának kontextusgyökerét levéve. Ha egy adott kérés megfelel a meghatározott virtuális portálnak, akkor a szabályhoz meghatározott útválasztási tevékenység kerül végrehajtásra.
`time` | HTTP SOAP IIOP | Ez az operandus a dátum és időpont megadására szolgál, amikor az adott kérést figyelembe kell venni. A két elhagyható mező a Kezdési idő és a Befejezési idő. Ha egy kérés a megadott időablakon kívül érkezik, akkor a kérés nem kerül feldolgozásra. A kezdeti idő és a befejezési idő is egyaránt a következő formátummal rendelkezik: `HétNapja/HónapNapja/hónap/év::óra:perc:másodperc`. Például a 2007. április 11. (csütörtök) 13:03:45 időpont a következő módon van megadva: Thu/11/Apr/2007::13:03:45 Bármely mezőbe írható helyettesítő érték * értékkel. Például minden egyes hónap elseje */1 értékkel adható meg. A HétNapja értéke a Sun, Mon, Tue, Wed, Thu, Fri, Sat lehet és a HónapNapja értéke 1-31 között van. A hónap érték egy nem numerikus érték, amely a 12 hónapot képviseli: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Az év érték az évszám négy számjegyéből áll. Például: 2007. Az óra érték a nap órája 24 órás felbontásban. Például, a reggel 8 óra ::8 értékként ábrázolható. A perc és a másodperc egész számok 0 és 59 között. Az osztásjel (/) a dátumparaméterek elkülönítésére szolgál, a dupla kettőspont (::) a dátum és időpont értékek elkülönítésére szolgál, és a kettőspont (:) az időpont értékek elkülönítésére szolgál. Jegyezze meg, hogy ez annak a teljes szabálynak a logikai eredménye, amely a time operandust használja és meghatározza a továbbítási tevékenységet.
`percentage$<érték>` | HTTP SOAP IIOP SIP | A százalék operandus `true` értékre kerül kiértékelésre, az idő rögzített százalékára. Például a `percentage$50` `true` értékű lesz az idő 50%-ában.
`rampup$<kezdőIdő>$<befejezésiIdő>` | HTTP SOAP IIOP SIP | A rampup operandus `true` értékre kerül kiértékelésre, az idő változó százalékára. Mindig `false` értékre kerül kiértékelésre a `<kezdőIdő>` előtt és `true` értékre a `<befejezésiIdő>` után. Amint az idő halad a `<kezdőIdő>` és a `<befejezésiIdő>` között `true` értéket vesz fel lineárisan növekvő százalékos arányban. A `<kezdőIdő>` és `<befejezésiIdő>` formátuma: `nap/hónap/év::óra:perc:másodperc`. ahol a nap a hónap napja, a hónap a tizenkét hónap egyike: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, az év a négyszámjegyű év, óra a nap 24 órájának kétszámjegyű értéke, a perc és a másodperc a perc és a másodperc kétjegyű értékei, értelemszerűen. Például: A `rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00` elkezdi alkalmanként `true` értéket felvenni 2007.jan.1. reggel 8 óra után és mindig `true` értéket vesz fel a növekedési idő befejezése után, ugyanazon nap este 5-kor.

## Operátor

- Kis-/nagybetűk figyelmen kívül hagyásával egyenlő (EQUALSIGNORECASE): Megegyezik a 'String = String' kifejezéssel, kivéve azt, hogy a karaktersorozatokban a kis-és nagybetűk közötti különbség figyelmen kívül marad. Így az 'ABC' `EQUALSIGNORECASE` 'abc' kifejezés true értékre értékelődik ki. Az ('ABC' = 'abc') értéke false.
- Nem egyenlő ( <> ): A nem egyenlő operátor azt fejezi ki, hogy az operandus nem egyezik meg a megadott értékkel.
- Tartalmazza (IN): Ez az operátor egy több értékkel rendelkező operandust fejez ki egyetlen kifejezésben. Ha például a `port` nevű operandus esetében azt szeretné kifejezni, hogy a portérték a következők tetszőleges eleme lehet: `9080`, `9090`, `9091`, akkor a kifejezéstöredék: `port IN (9080,9090,9091)`. Az, hogy egy szögletes zárójelben lévő értékek hogyan kerülnek kifejezésre, függ a port adattípusától. Ha a port egész szám, akkor a helyes szintaxis az értékek idézőjelek nélkül. Ha a port karaktersorozat, akkor a helyes szintaxis `port IN (‘9080’,‘9090’,‘9091’)`.
- Hasonló (LIKE): Ez az operátor karaktersorozat típusú operandusértékek mintaillesztését fejezi ki. Az értéknek tartalmaznia kell a helyettesítő karakterek százalékjelét (%) azon a helyen, ahol a mintaillesztés kezdődik. Míg például a `host LIKE %blanca` kifejezés a blanca szóra, illetve a blanca karaktersorozatra végződő minden egyéb szóra illeszkedik, addig a `host LIKE blanca%` a blanca szóra, valamint a blanca karaktersorozattal kezdődő minden egyéb szóra illeszkedik. A `host LIKE %blanca%` kifejezés a blanca szóra, valamint a beágyazott blanca karaktersorozattal rendelkező minden más szóra illeszkedik.
- Kis-/nagybetűk figyelmen kívül hagyásával hasonló (LIKEIGNORECASE): Megegyezik a 'string like string' kifejezéssel, kivéve azt, hogy a karaktersorozatokban a kis- és nagybetűk közötti különbség figyelmen kívül marad.
- Nem nullérték (IS NOT NULL): Ez az operátor azt fejezi ki, hogy a lekérdezés érvényesítése szerint a kért paraméter létezik.
- Összefűzés (+): Ez az operátor két karaktersorozat összefűzését fejezi ki: 'abc' + 'def' = 'abcdef'.
- Tartalmaz hasonlót (LIKEIN): Ez az operátor azt fejezi ki, hogy a 'string likein (string1, string2, string3, stb.)' értéke true, ha a "likein" bal oldalán álló karaktersorozat legalább egy karaktersorozatnak (stringN) megfelel
- Nullérték (IS NULL): Ez az operátor azt fejezi ki, hogy a lekérdezés érvényesítése szerint a kért paraméter nem létezik.
- Egyenlő ( = ): Az egyenlőség operátor olyan egyezést fejez ki, amelyben a kis- és nagybetűk eltérőnek számítanak.

## Érték

A választott operátortól függően írjon be egy értéket a létrehozni kívánt részkifejezéshez.

## Részkifejezés előállítása

A megadott operandus, operátor és értékek eredményeként állítsa elő a részkifejezést.

## Hozzáfűzés

Kattintson ide a hozzáfűzéshez a szabályok panelen lévő mezőhöz.

Kapcsolódó információk:
Útválasztási irányelv HTTP szabályok

Fájlnév: http_rulebuilder_detail.html