WinHTTP AutoProxy-ondersteuning
Om de configuratie van proxy-instellingen te vereenvoudigen, implementeert WinHTTP 5.1 het WPAD-protocol (Web Proxy Auto-Discovery), ook wel autoproxy genoemd.
Toepassingen en onderdelen die Gebruikmaken van WinHTTP om HTTP-aanvragen te verzenden, moeten ervoor zorgen dat de proxyconfiguratie correct is ingesteld. Tenzij de client een directe internetverbinding heeft, moet een HTTP-aanvraag normaal gesproken worden verzonden via een webproxyserver die het lokale netwerk van de client verbindt met internet (dit is bijvoorbeeld vaak het geval voor webclients op een bedrijfs-LAN). Voor servertoepassingen wordt de proxyconfiguratie normaal gesproken beheerd door de beheerder van de server met behulp van het hulpprogramma WinHTTP ProxyCfg.exe. De serverbeheerder kent vooraf de naam van de proxyserver en gebruikt ProxyCfg.exe om deze instelling op te nemen in het register waar WinHTTP deze kan opzoeken. Het is echter problematisch dat eindgebruikers van het client-bureaublad handmatig WinHTTP-proxy-instellingen moeten configureren. De eindgebruiker weet mogelijk niet de naam van de proxyserver; dat de eindgebruiker het ProxyCfg.exe hulpprogramma moet uitvoeren, kan een ondersteuningslast voor een organisatie zijn. Om een goede gebruikerservaring te ondersteunen, moet een webclienttoepassing de proxyconfiguratie bepalen zonder tussenkomst van de gebruiker.
Om de proxy-instellingen voor WinHTTP-toepassingen eenvoudiger te configureren, implementeert WinHTTP nu het WPAD-protocol (Web Proxy Auto-Discovery), ook wel autoproxy-genoemd. Dit is hetzelfde protocol dat webbrowsers implementeren om de proxyconfiguratie automatisch te detecteren zonder dat een eindgebruiker handmatig een proxyserver hoeft op te geven. Deze functie is beschikbaar vanaf WinHTTP versie 5.1 in Windows 2000 Service Pack 3, Windows XP Service Pack 1 en Windows Server 2003. Houd er rekening mee dat hoewel zowel Microsoft Internet Explorer als Microsoft WinHTTP WPAD ondersteunen, de specificatie nooit verder is gegaan dan de fase Internet-Draft en in mei 2001 is verlopen.
Het WPAD-protocol werkt als volgt:
Met behulp van de DHCP- en/of DNS-netwerkprotocollen wordt de URL van een PAC-bestand (Proxy Auto-Configuration) gedetecteerd. De URL identificeert een PAC-bestand op het lokale netwerk van de client. WinHTTP ondersteunt alleen HTTP:- en HTTPS:-URL's; het biedt bijvoorbeeld geen ondersteuning voor 'file:'-URL's.
Het PAC-bestand wordt gedownload en optioneel in de cache opgeslagen op de computer van de client. Het PAC-bestand is een uitvoerbaar script waarmee een lijst met een of meer proxyservers wordt gegenereerd op basis van een doelhostnaam en -URL. WinHTTP ondersteunt alleen PAC-bestanden op basis van ECMAScript.
Op elke HTTP-aanvraag wordt de PAC-scriptcode uitgevoerd, met de hostnaam en URL van de HTTP-aanvraag die als parameters is doorgegeven. WinHTTP verwacht dat de PAC-scriptcode een functie bevat met de naam FindProxyForURL, in de vorm:
-
FindProxyForURL( url, host );
Deze functie berekent een lijst met een of meer proxyservers die door de HTTP-client kunnen worden gebruikt om de aanvraag te verzenden. Als het PAC-script bepaalt dat de HTTP-client de doelserver rechtstreeks kan bereiken zonder een proxyserver te doorlopen, geeft dit aan met behulp van een speciale retourwaarde.
- WinHTTP AutoProxy Functions
- detectie zonder automatische configuratiebestand
- Problemen met AutoProxy in WinHTTP-
- WinInet-proxyconfiguraties instellen in WinHTTP-
- autoproxycache
- IPv6-extensies voor autoconfiguratie van Navigator