Freigeben über


WinHTTP AutoProxy-Unterstützung

Um die Konfiguration von Proxyeinstellungen zu vereinfachen, implementiert WinHTTP 5.1 das Web Proxy Auto-Discovery (WPAD)-Protokoll, auch als Autoproxy bezeichnet.

Übersicht über AutoProxy

Anwendungen und Komponenten, die WinHTTP zum Senden von HTTP-Anforderungen verwenden, sollten sicherstellen, dass die Proxykonfiguration ordnungsgemäß festgelegt ist. Es sei denn, der Client verfügt über eine direkte Internetverbindung, sollte normalerweise eine HTTP-Anforderung über einen Webproxyserver gesendet werden, der das lokale Netzwerk des Clients mit dem Internet verbindet (dies ist z. B. häufig bei Webclients in einem Unternehmens-LAN der Fall). Bei serverbasierten Anwendungen wird die Proxykonfiguration normalerweise vom Administrator des Servers mithilfe des WinHTTP ProxyCfg.exe Hilfsprogramms verwaltet. Der Serveradministrator kennt den Namen des Proxyservers im Voraus und verwendet ProxyCfg.exe, um diese Einstellung in der Registrierung aufzuzeichnen, in der WinHTTP sie nachschlagen kann. Es ist jedoch problematisch, dass Clientdesktop-Endbenutzer winHTTP-Proxyeinstellungen manuell konfigurieren müssen. Der Endbenutzer kennt möglicherweise nicht den Namen des Proxyservers; Der Endbenutzer muss das ProxyCfg.exe Hilfsprogramm ausführen, kann eine Unterstützungslast für eine Organisation sein. Um eine gute Benutzererfahrung zu gewährleisten, sollte eine webfähige Clientanwendung die Proxykonfiguration ohne Benutzereingriff ermitteln.

Um die Konfiguration der Proxyeinstellungen für WinHTTP-basierte Anwendungen zu vereinfachen, implementiert WinHTTP jetzt das Webproxy Auto-Discovery (WPAD)-Protokoll, das häufig als Autoproxy-bezeichnet wird. Dies ist dasselbe Protokoll, das Webbrowser implementieren, um die Proxykonfiguration automatisch zu ermitteln, ohne dass ein Endbenutzer einen Proxyserver manuell angeben muss. Dieses Feature ist ab WinHTTP Version 5.1 in Windows 2000 Service Pack 3, Windows XP Service Pack 1 und Windows Server 2003 verfügbar. Beachten Sie, dass die Spezifikation, obwohl sowohl Microsoft Internet Explorer als auch Microsoft WinHTTP WPAD unterstützen, nie über die Phase "Internetentwurf" hinausgelaufen ist und im Mai 2001 abgelaufen ist.

Das WPAD-Protokoll funktioniert wie folgt:

  1. Mithilfe der DHCP- und/oder DNS-Netzwerkprotokolle wird die URL einer PAC-Datei (Proxy Auto-Configuration) ermittelt. Die URL identifiziert eine PAC-Datei im lokalen Netzwerk des Clients. WinHTTP unterstützt nur "http:" und "https:" PAC-URLs; es unterstützt z. B. "file:" URLS nicht.

  2. Die PAC-Datei wird heruntergeladen und optional auf dem Computer des Clients zwischengespeichert. Die PAC-Datei ist ein ausführbares Skript, das eine Liste mit mindestens einem Proxyserver generiert, der einen Zielhostnamen und eine URL enthält. WinHTTP unterstützt nur ECMAScript-basierte PAC-Dateien.

  3. Bei jeder HTTP-Anforderung wird der PAC-Skriptcode mit dem Hostnamen und der URL der als Parameter übergebenen HTTP-Anforderung ausgeführt. WinHTTP erwartet, dass der PAC-Skriptcode eine Funktion namens FindProxyForURL-enthält:

  4. FindProxyForURL( url, host );
    

    Diese Funktion berechnet eine Liste mit einem oder mehreren Proxyservern, die vom HTTP-Client verwendet werden können, um die Anforderung zu übertragen. Wenn das PAC-Skript feststellt, dass der HTTP-Client den Zielserver direkt erreichen kann, ohne überhaupt einen Proxyserver zu durchlaufen, gibt es dies mithilfe eines speziellen Rückgabewerts an.

AutoProxy-Themen