웹 엔진을 포함한 주요 웹 브라우저에서 사용하는 PAC 규칙은 수정된 정규식 구문을 사용하는 것입니다. 지금까지 Pacmanager는 일치를 위해 일반적인 정규 표현식을 사용했습니다. 브라우저와 유사한 일치하는 기능을 사용하도록 shExpMatch 기능을 변경하고 있습니다.
이 변경 사항은 RoomOS가 네트워크에 있는 다른 웹 클라이언트와 일치하는 동일한 PAC 파일에서 작동함을 의미합니다. RoomOS용으로 특별히 작성된 PAC 파일은 의도한 대로 작동하도록 업데이트되어야 할 수도 있습니다.
PAC 파일 평가는 RoomOS 소프트웨어의 두 개의 별도 장소에서 수행됩니다.
-
자체 트래픽을 위한 웹 엔진.
-
기타 모든 HTTP 트래픽에 대한 Pacmanager: HttpFeedback, Webex 프로비저닝, 통화 신호 처리 등.
PAC 파일은 다음 기능을 사용할 수 있습니다. shExpMatch( 문자열, 패턴)
string 의 모든 알파벳을 소문자로 변환한 문자열을 반환한다.
두 규칙 간의 주요 차이점은 아래에 나열되어 있습니다. "REGEX"는 전통적인 정규식을 의미하고 "BROWSER"는 웹 브라우저 규칙을 의미합니다.
점 기호, "."
-
REGEX: . 는 양자기로 반복할 수 있는 단일 문자와 일치합니다.
-
브라우저: .는 리터럴 점 문자만 일치합니다.
별표, "*":
-
REGEX: *는 항목 뒤에 0개 이상의 양자화이지만 그 자체와 일치하지 않습니다.
-
브라우저: *가 0개 이상의 문자와 일치함
물음표, "?":
-
REGEX: ? 은 항목 뒤에 0이나 1의 양자화입니다. 또는 * 양자화기를 탐욕스럽지 않도록 수정할 수 있지만 그 자체와 일치하지 않습니다.
-
브라우저: ? 문자와 일치함
전체 표현식이 일치해야 하는지 여부:
-
정규식: 앞에 오는 ^ 및 후행 $를 사용하지 않으면 패턴이 전체 문자열과 일치하지 않아도 됩니다. 문자열에는 일치하는 하위 문자열이 포함된 것으로 충분합니다.
-
브라우저: 항상 패턴에 따라 문자열을 정확하게 일치하도록 요구
예제
"provider.domain" 아래에 있는 모든 호스트 이름을 일치시키지만, "otherprovider.domain", "provider.domain.tld" 또는 "providersdomain"은 일치하지 않습니다.
정규식:
shExpMatch(url, "^.*\\.provider\\.domain$")
브라우저:
shExpMatch(url, "*.provider.domain")
"proxy1.domain", "proxy2.domain" 등과 일치하지만 "proxytest.domain"은 일치하지 않습니다.
정규식:
shExpMatch(url, "^proxy.\\.domain$")
브라우저:
shExpMatch(url, "proxy?. domain")
기타 리소스
PAC 파일 형식에 대한 자세한 내용은 다음을 참조하십시오. https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file