What is Internet Explorer Automatic Proxy Result Cache?

With most browsers, the PAC file FindProxyForURL() function is called every time a request is made. However, versions of Internet Explorer since 5.5 include a feature called Automatic Proxy Result Cache that caches the hostname of the requested URL and the proxy that is returned by the FindProxyForURL() function (as <hostname, server>). This has the advantage of minimizing calls to FindProxyForURL(), but imposes 2 important limits:

  1. Because the Automatic Proxy Result Cache is indexed by hostname, it is impossible for a PAC file to distribute traffic to distinct proxy servers based on any part of a URL in addition to the hostname. In other words, it is impossible to direct traffic to different proxy servers based on the path portion of URLs on a single host.
  2. Because Automatic Proxy Result Cache caches the hostname/first_server pair, rather than the full results of the FindProxyForURL() function (full URL and multiple servers, if so scripted), the failover from one proxy to another does not occur in the event of a problem, even if the FindProxyForURL() function returned a list of proxy servers.

This feature is discussed in more detail in the Microsoft Knowledge Base article titled How to disable automatic proxy caching in Internet Explorer.