Partager via


Prise en charge de WinHTTP AutoProxy

Pour faciliter la configuration des paramètres de proxy, WinHTTP 5.1 implémente le protocole WPAD (Web Proxy Auto-Discovery), également appelé autoproxy.

Vue d’ensemble de AutoProxy

Les applications et les composants qui utilisent WinHTTP pour envoyer des requêtes HTTP doivent s’assurer que la configuration du proxy est correctement définie. Sauf si le client dispose d’une connexion Internet directe, une requête HTTP doit normalement être envoyée via un serveur proxy web qui connecte le réseau local du client à Internet (par exemple, cela est souvent le cas pour les clients web sur un réseau local d’entreprise). Pour les applications basées sur le serveur, la configuration du proxy est normalement gérée par l’administrateur du serveur à l’aide de l’utilitaire WinHTTP ProxyCfg.exe. L’administrateur du serveur connaît le nom du serveur proxy à l’avance et utilise ProxyCfg.exe pour enregistrer ce paramètre dans le Registre où WinHTTP peut le rechercher. Toutefois, il est problématique de demander aux utilisateurs finaux du bureau client de configurer manuellement les paramètres du proxy WinHTTP. L’utilisateur final peut ne pas connaître le nom du serveur proxy ; exiger que l’utilisateur final exécute l’utilitaire de ProxyCfg.exe peut être un fardeau de support pour une organisation. Pour prendre en charge une expérience utilisateur optimale, une application cliente web doit déterminer la configuration du proxy sans intervention de l’utilisateur.

Pour faciliter la configuration des paramètres de proxy pour les applications WinHTTP, WinHTTP implémente désormais le protocole de découverte automatique du proxy web (WPAD), souvent appelé autoproxy. Il s’agit du même protocole que les navigateurs web implémentent pour détecter automatiquement la configuration du proxy sans exiger qu’un utilisateur final spécifie manuellement un serveur proxy. Cette fonctionnalité est disponible à partir de WinHTTP version 5.1 dans Windows 2000 Service Pack 3, Windows XP Service Pack 1 et Windows Server 2003. Notez que bien que Microsoft Internet Explorer et Microsoft WinHTTP prennent en charge WPAD, la spécification n’a jamais progressé au-delà de la phase « Internet-Draft » et a expiré en mai 2001.

Le protocole WPAD fonctionne comme suit :

  1. À l’aide des protocoles réseau DHCP et/ou DNS, l’URL d’un fichier PAC (Proxy Auto-Configuration) est découverte. L’URL identifie un fichier PAC sur le réseau local du client. WinHTTP prend uniquement en charge les URL PAC « http : » et « https : » ; il ne prend pas en charge, par exemple, les URL « file : ».

  2. Le fichier PAC est téléchargé et éventuellement mis en cache sur l’ordinateur du client. Le fichier PAC est un script exécutable qui génère une liste d’un ou plusieurs serveurs proxy en fonction d’un nom d’hôte et d’une URL cibles. WinHTTP prend uniquement en charge les fichiers PAC basés sur ECMAScript.

  3. Sur chaque requête HTTP, le code de script PAC est exécuté, avec le nom d’hôte et l’URL de la requête HTTP transmises en tant que paramètres. WinHTTP s’attend à ce que le code de script PAC contienne une fonction appelée FindProxyForURL, sous la forme :

  4. FindProxyForURL( url, host );
    

    Cette fonction calcule une liste d’un ou plusieurs serveurs proxy qui peuvent être utilisés par le client HTTP pour transmettre la requête. Si le script PAC détermine que le client HTTP peut atteindre le serveur cible directement sans passer par un serveur proxy, il indique cela à l’aide d’une valeur de retour spéciale.

Rubriques autoProxy