Suporte a AutoProxy do WinHTTP
Para facilitar a configuração das configurações de proxy, o WinHTTP 5.1 implementa o protocolo WPAD (Descoberta Automática de Proxy Web), também conhecido como autoproxia.
Visão geral do AutoProxy
Aplicativos e componentes que usam WinHTTP para enviar solicitações HTTP devem garantir que a configuração do proxy esteja definida corretamente. A menos que o cliente tenha uma conexão direta com a Internet, uma solicitação HTTP normalmente deve ser enviada por meio de um servidor proxy Web que conecta a rede local do cliente à Internet (por exemplo, geralmente, esse é o caso de clientes Web em uma LAN corporativa). Para aplicativos baseados em servidor, a configuração de proxy normalmente é gerenciada pelo administrador do servidor usando o utilitário ProxyCfg.exe WinHTTP. O administrador do servidor sabe o nome do servidor proxy com antecedência e usa ProxyCfg.exe para registrar essa configuração no registro em que o WinHTTP pode pesquisá-lo. No entanto, exigir que os usuários finais da área de trabalho do cliente definam manualmente as configurações de proxy WinHTTP é problemático. O usuário final pode não saber o nome do servidor proxy; exigir que o usuário final execute o utilitário ProxyCfg.exe pode ser uma carga de suporte para uma organização. Para dar suporte a uma boa experiência do usuário, um aplicativo cliente habilitado para a Web deve determinar a configuração de proxy sem intervenção do usuário.
Para facilitar a definição das configurações de proxy para aplicativos baseados em WinHTTP, o WinHTTP agora implementa o protocolo WPAD (Descoberta Automática de Proxy Web), geralmente conhecido como autoproxy. Esse é o mesmo protocolo que os navegadores da Web implementam para descobrir automaticamente a configuração de proxy sem exigir que um usuário final especifique um servidor proxy manualmente. Esse recurso está disponível a partir do WinHTTP versão 5.1 no Windows 2000 Service Pack 3, Windows XP Service Pack 1 e Windows Server 2003. Observe que, embora tanto o Microsoft Internet Explorer quanto o Microsoft WinHTTP deem suporte ao WPAD, a especificação nunca progrediu além do estágio "Internet-Draft" e expirou em maio de 2001.
O protocolo WPAD funciona da seguinte maneira:
Usando os protocolos de rede DHCP e/ou DNS, a URL de um arquivo PAC (Configuração Automática de Proxy) é descoberta. A URL identifica um arquivo PAC na rede local do cliente. O WinHTTP dá suporte apenas a URLs PAC "http:" e "https:"; ele não dá suporte, por exemplo, à URLS "file:".
O arquivo PAC é baixado e, opcionalmente, armazenado em cache no computador do cliente. O arquivo PAC é um script executável que gera uma lista de um ou mais servidores proxy com um nome de host de destino e UMA URL. O WinHTTP dá suporte apenas a arquivos PAC baseados em ECMAScript.
Em cada solicitação HTTP, o código de script PAC é executado, com o nome do host e a URL da solicitação HTTP passada como parâmetros. O WinHTTP espera que o código de script PAC contenha uma função chamada FindProxyForURL, no formato:
-
FindProxyForURL( url, host );
Essa função calcula uma lista de um ou mais servidores proxy que podem ser usados pelo cliente HTTP para transmitir a solicitação. Se o script PAC determinar que o cliente HTTP pode acessar o servidor de destino diretamente sem passar por um servidor proxy, isso indicará isso usando um valor retornado especial.
Tópicos do AutoProxy
- Funções Do WinHTTP AutoProxy
- Descoberta sem um arquivo de configuração automática
- Problemas de AutoProxia no WinHTTP
- Definindo configurações de proxy WinInet no WinHTTP
- AutoProxy Cache
- Extensões IPv6 para o formato de arquivo de configuração automática do navegador