What is a PAC file?
A Proxy Auto-Configuration (PAC) file is a JavaScript function definition that determines whether web browser requests (HTTP, HTTPS, and FTP) go direct to the destination or are forwarded to a web proxy server.
PAC files are used to support explicit proxy deployments in which client browsers are explicitly configured to send traffic to the web proxy. The big advantage of PAC files is that they are usually relatively easy to create and maintain.
The use of a PAC file is highly recommended with explicit proxy deployments of Forcepoint Web Security (for the Content Gateway—web proxy—component) and is required to support the Forcepoint Web Security Hybrid Module.
These Internet resources provide excellent information, including PAC file JavaScript reference information, PAC file examples, and links to additional information:
This website: (http://www.findproxyforurl.com)
This Wikipedia article: (http://en.wikipedia.org/wiki/Proxy_auto-config)
These Microsoft knowledge base articles:
- An IE10 presentation that focuses on WPAD files: “Enable Automatic Detection and Configuration of Browser Settings” (http://technet.microsoft.com/library/jj647643.aspx)
- An older discussion with more information about PAC files: “Using Automatic Configuration, Automatic Proxy, and Automatic Detection” (http://technet.microsoft.com/en-us/library/dd361918.aspx)
A PAC file is a JavaScript function definition for FindProxyForURL(url, host). The complexity of the function varies with the requirements of each organization.
A PAC file is:
- Flexible and extensible
- Supported by all popular browsers
- Easy to administer and maintain in any size network; however, as this paper explains, PAC files are easiest to administer when the browser is Internet Explorer
- Able to support mobile devices that use standard browsers
A PAC file can:
- Be stored on any server in your network. Small networks may store the file on the proxy itself, but large, enterprise-class networks should use a separate server for storing the PAC file
- Determine where Internet and intranet requests are routed
- Allow for exceptions in the form of bypassing the proxy for specified destinations
- Perform load distribution
- Handle proxy failover
Because PAC files are written in JavaScript, they support the structure, logic, and extensibility of JavaScript. See JavaScript functions most commonly used in a PAC file.