词条 | Proxy Auto Config |
释义 | 1.pac file的简介PAC(Proxy Auto Config) 是什么呢?它实际上是一个 Script;经由编写这个 Script,我们可以让系统判断在怎么样的情形下,要利用哪一台 Proxy 来进行联机。 这样做主要的好处有: 1. 分散 Proxy 的流量,避免 Proxy Server 负载过高 2. 针对个别条件设定、加快浏览速度 3. 设定要求顺序,在某台 Proxy 无法联机时,可自动尝试别种联机方式 2.pac File 的格式基本上 Proxy Auto Config File(以下简称 PAC)是一个纯文字文件,他的语法采用 JavaScript;所以建议要学习编写 PAC 的人,最好先学习基本的 JavaScript。一个 PAC 档必需是单独的 JavaScript,其中不能包含任何 HTML 标签。 在 PAC 档中,一定要定义 Function FindProxyForURL 如下: function FindProxyForURL( url, host ) { ... } 如果使用了 PAC 档,则浏览器在接受我们要求的网址后,会去执行ret = FindProxyForURL( url, host );这样的指令。其中,url 是所要求网址的完整路径,host 是对方的计算机名称(就是在 :// 和 / 之中的部份);而 return 值 ret 则是 Proxy 的组态,它的格式有下列三种: · DIRECT 直接联机而不透过 Proxy · PROXY host:port 使用指定的 Proxy 伺服机 · SOCKS host:port 使用指定的 Socks 伺服机 PAC 中特别的 Function 在 PAC 中,除了可以使用一般 JavaScript 的 Function 外,它还定义了一些特别的 Function 可以使用: · isPlainHostName() · dnsDomainIs() · localHostOrDomainIs() · isResolvable() · isInNet() · dnsResolve() · myIpAddress() · dnsDomainLevels() · shExpMatch() · weekdayRange() · dateRange() · timeRange() isPlainHostName( host ) host 由网址取得的主机名称。 此 Function 会判断 host 是否为不包含网域 (Domain)。如果是,则 return true;如果包含,则 return false。 dnsDomainIs( host, domain ) host 由网址取得的主机名称。 domain 指定的网域。 此 Function 会判断 host 是否属于网域 domain。如果是,则 return true;否,则 return false。 localHostOrDomainIs( host, hostdom ) host 由网址取得的主机名称。 hostdom 完整的网域名称。 此 Function 会判断 host 是否为 hostdom,或 host 是否为 hostdom 的主机名称。如果是,则 return true;否,则 return false。 isResolvable( host ) host 由网址取得的主机名称。 此 Function 会尝试透过 DNS 去解析 host,如果解析成功,则 return true;否则 return false。) isInNet( host, pattern, mask ) host 主机名称,可以是 Domain Name 或 IP。如果是 Domain Name,则会透过 DNS 查出 IP。 pattern IP。 mask对应于 pattern 的屏蔽。 此 Function 会 host 是否在指定的 IP 范围内,如果是,则 return true;否则 return false。 dnsResolve( host ) host 要透过 DNS 解晰的主机名称。 此 Function 会透过 DNS 去解析 host,return 值即为解析之结果。 myIpAddress() 此 Function 会 return 浏览器所在计算机之 IP 地址。 dnsDomainLevels( host ) host 由网址取得的主机名称。 此 Function 会 return host 的 Domain 层数(点的数目)。 shExpMatch( str, shexp ) str 要进行比对的字符串。 shexp 比对的条件。 此 Function 会比对 str 是否符合 shexp 的表示式(此表示式为 shell expression 而非 regular expressions)。如果是,则 return true;否则 return false。 weekdayRange()、dateRange()、timeRange() 这三个 Function 的功用都是检查线在时间是否在指定范围内,用这些 Function 就可以设定分时段使用 Proxy Server。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。