代理自动配置(Proxy Auto Config),简称PAC。PAC文件是一个包含JavaScript形式的函数。这个函数返回一个包含一个或多个访问规则的字符串。用户代理根据这些规则适用一个特定的代理器或者直接访问。
代理自动配置(Proxy Auto Config),简称 PAC。PAC 文件是一个包含 JavaScript 形式的函数“FindProxyForURL(url, host)”。这个函数返回一个包含一个或多个访问规则的字符串。用户代理根据这些规则适用一个特定的代理器或者直接访问。
当一个代理服务器无法响应的时候,多个访问规则提供了其他的后备访问方法。 浏览器在访问其他页面以前,首先访问这个 PAC 文件。PAC 文件中的 URL 可能是手工配置的,也可能是通过网页的网络代理自发现协议(Web Proxy Autodiscovery Protocol)自动配置的。
自动化技术
现代的浏览器实现了几个级别的自动化;用户可以选择最适合他们需要的级别。下面的这些方法被普遍的实现:
手动代理配置:为所有的 URLs 规定一个主机名和端口作为代理。大多数浏览器允许用户规定一个域名的列表(例如 localhost),访问这个列表里面的域名的时候不通过代理服务器。
代理自动配置(PAC):规定一个指向 PAC 文件的 URL,这个文件中包括一个 JavaScript 函数来确定访问每个 URL 时所选用的合适代理。这个方法更加适合需要几个不同代理配置的笔记本用户,或者有很多不同代理服务器的复杂的企业级设置。这个就是我们在本文中所要讨论的。
网络代理自发现协议(WPAD): 浏览器通过 DHCP 和 DNS 的查询来搜索 PAC 文件的位置。
PAC 文件
要使用 PAC,我们应当在一个网页服务器上发布一个 PAC 文件,并且通过在浏览器的代理链接设置页面输入这个 PAC 文件的 URL 或者通过使用 WPAD 协议告知用户代理去使用这个文件。
一个 PAC 文件是一个至少定义了一个 JavaScript 函数的文本文件。这个函数 FindProxyForURL(url, host)有 2 个参数:url 是一个对象的 URL,host 是一个由这个 URL 所派生的主机名。按照惯例,这个文件名字一般是 proxy.pac.WPAD 标准使用 wpad.dat。
虽然大多数客户端无论从 HTTP 请求返回的 MIME 类型是什么都能正确处理,但为了完整性和最佳的兼容性,我们应该设置网页服务器将这个文件的 MIME 类型声明为 application/x-ns-proxy-autoconfig 或者 application/x-javascript-config 。
没有什么理由偏爱一种 MIME 类型多一些,如果有的话,假设 application/x-ns-proxy-autoconfig 相对 application/x-javascript-config 被更多的客户端所支持是可以理解的。因为它被定义在最初的 Netscape 规范里面,后者是最近才开始被使用。