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 .