Muutamme, miten Pac (Proxy Autom. kokoonpano) toimii pacmanagerissa RoomOS-ohjelmistossa.
Suurten Web-selainten, kuten Web-moduulin, käyttämä PAC-käytäntö on käyttää muokattua säännöllistä lausekkeen syntaksia. Tähän asti pacmanager on käyttänyt vastaavia tavallisia ilmaisuja. Olemme muuttamassa shExpMatch-toimintoa käyttämään selainten kanssa vastaavaa.
Tämä muutos tarkoittaa, että RoomOS toimii samojen PAC-tiedostovastaamien kanssa kuin muut verkon Web-asiakkaat. RoomOS:lle erityisesti kirjoitetut PAC-tiedostot on ehkä päivitettävä, jotta ne pysyvät käytettävissä tarpeen mukaan.
PAC-tiedoston arviointi tehdään kahdessa erillisessä paikassa RoomOS-ohjelmistossa:
-
Web-moottori omaa liikennettä varten.
-
Pacmanager kaikelle muulle HTTP-liikenteelle: HttpFeedback, Webex valmistelu, puhelun signalointi ja niin edelleen.
PAC-tiedosto voi hyödyntää tätä toimintoa: shExpMatch(merkkijono, malli)
Se palauttaa arvon tosi, jos merkkijono vastaa mallia, muussa tapauksessa epätosi.
Näiden kahden yleissopimuksen väliset tärkeimmät erot luetellaan seuraavassa, ja "REGEX" tarkoittaa perinteisiä tavallisia ilmaisuja ja "SELAIN" tarkoittaa Web-selaimen käytäntöä.
Pistemerkki: "."
-
REK. vastaa yksittäistä merkkiä, joka voidaan toistaa kvantifierilla
-
SELAIN:. vastaa vain kirjaimellista pistemerkkiä
Tähti, "*":
-
REK. REGEX: * on kohteen jälkeen nolla tai enemmän määrällinen, mutta ei vastaa mitään yksinään
-
SELAIN: * vastaa vähintään nolla merkkiä
Kysymysmerkki "?":
-
REK. : ? on kohteen jälkeen nolla tai yksi määrällinen, tai voi muokata * kvantifierin ei-ahneeksi, mutta ei vastaa mitään yksinään
-
SELAIN:? vastaa yksittäistä merkkiä
Tuleeko koko lausekkeen vastata:
-
REK. REGEX: Ilman etu- ja jonotusmerkkijonon käyttöä ˆ ja sen jälkeen $, MALLIN ei tarvitse vastata koko MERKKIJONOA: Riittää, että STRING sisältää vastaavuuden alilohkon.
-
SELAIN: Vaadi aina, että MERKKIJONO TÄSMÄÄ TÄSMÄLLEEN MALLIN MUKAAN
Esimerkit
Haluamme täsmätä kaikki isäntänimet kohdassa "provider.domain", mutta ei "otherprovider.domain", "provider.domain.tld" tai "catastrophedomain":
REK.
shExpMatch(URL, "ˆ.*\\.provider\\.domain$")
SELAIN:
shExpMatch(url, "*.provider.domain")
Haluamme täsmätä "proxy1.domain", "proxy2.domain" ja niin edelleen, mutta emme "proxytest.domain":
REK.
shExpMatch(url, "ˆproxy.\\.domain$")
SELAIN:
shExpMatch(url, "välityspalvelin?. toimialue")
Muut resurssit
Lisätietoja PAC-tiedostomuodosta on kohdassa# https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .