Suurimpien verkkoselaimien, mukaan lukien Web-moottorin, käyttämä PAC-käytäntö on käyttää muokattua säännöllisen lausekkeen syntaksia. Tähän asti pacmanager on käyttänyt tavallisia säännöllisiä lausekkeita vastaavuuksiin. Olemme muuttamassa shExpMatch -toimintoa käyttääksesi hakua, joka on samanlainen kuin selaimet.

Tämä muutos tarkoittaa, että RoomOS toimii samojen PAC-tiedostojen osumien kanssa kuin muut verkon verkkoasiakkaat. Erityisesti RoomOS:lle kirjoitetut PAC-tiedostot on ehkä päivitettävä, jotta ne toimisivat suunnitellusti.

PAC-tiedoston arviointi tehdään kahdessa eri paikassa RoomOS-ohjelmistossa:

  • Web-moottori omaa liikennettä varten.

  • Pacmanager kaikelle muulle HTTP-liikenteelle: HttpFeedback, Webex-hallinta, puhelusignalointi ja niin edelleen.

PAC-tiedosto voi käyttää tätä toimintoa: shExpMatch(merkkijono, kuvio)

Se palauttaa tosi, jos merkkijono vastaa kuviota, muussa tapauksessa false.

Tärkeimmät erot näiden kahden tavan välillä on lueteltu alla, "REGEX" tarkoittaa perinteisiä säännöllisiä lausekkeita ja "SELAUS" tarkoittaa verkkoselaimen käytäntöä.

Pistemerkki "."

  • REGEX: . vastaa yhtä merkkiä, joka voidaan toistaa kvantorilla

  • SELAIN: . vastaa vain kirjaimellista pistemerkkiä

Tähti, "*":

  • REGEX: * on nolla tai enemmän kvantori kohteen jälkeen, mutta ei täsmää mihinkään sellaisenaan

  • SELAIN: * vastaa nollaa tai useampaa merkkiä

Kysymysmerkki "?":

  • REGEX: ? on nolla tai yksi kvantori kohteen jälkeen, tai se voi muuttaa *-kvannon ei-ahneeksi, mutta ei täsmää mihinkään sellaisenaan

  • SELAIN: ? vastaa yhtä merkkiä

Onko koko lausekkeen vastattava:

  • REGEX: Ilman alku-^- ja $-merkkiä KUVION ei tarvitse vastata koko STRING: Riittää, että STRING sisältää vastaavan alimerkkijonon.

  • SELAIN: Vaadi aina, että STRING vastaa täsmälleen mallia PATTERN

Esimerkkejä

Haluamme yhdistää kaikki isäntänimet kohdassa "provider.domain", mutta emme "otherprovider.domain", "provider.domain.tld" tai "providersdomain":

REGEX:


     shExpMatch(url, "^.*\\.provider\\.domain$") 
   

SELAIN:


     shExpMatch(url, "*.provider.domain") 
   

Haluamme vastata "proxy1.domain", "proxy2.domain" ja niin edelleen, mutta emme "proxytest.domain":

REGEX:


     shExpMatch(url, "^proxy.\\.domain$") 
   

SELAIN:


     shExpMatch(url, "proxy?.domain") 
   

Muut resurssit

Katso lisätietoja PAC-tiedostomuodosta: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .