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 d’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, c’est souvent le cas pour les clients Web sur un réseau local d’entreprise). Pour les applications basées sur un 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, l’obligation pour les utilisateurs finaux du bureau client de configurer manuellement les paramètres de proxy WinHTTP est problématique. L’utilisateur final ne connaît peut-être pas le nom du serveur proxy ; Exiger de l’utilisateur final qu’il exécute l’utilitaire ProxyCfg.exe peut constituer une charge de prise en charge pour un organization. Pour prendre en charge une bonne expérience utilisateur, 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 WPAD (Web Proxy Auto-Discovery), souvent appelé autoproxy. Il s’agit du même protocole que celui que les navigateurs web implémentent pour découvrir automatiquement la configuration du proxy sans nécessiter 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 l’étape « Internet-Brouillon » 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 cible et d’une URL. 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 passés 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 afin de 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 l’indique à l’aide d’une valeur de retour spéciale.

Rubriques AutoProxy