Obsługa autoproxy WinHTTP
Aby ułatwić konfigurację ustawień serwera proxy, WinHTTP 5.1 implementuje protokół automatycznego odnajdywania serwera proxy sieci Web (WPAD), znany również jako autoproxy.
Omówienie rozwiązania AutoProxy
Aplikacje i składniki używające protokołu WinHTTP do wysyłania żądań HTTP powinny zapewnić poprawną konfigurację serwera proxy. Jeśli klient nie ma bezpośredniego połączenia internetowego, żądanie HTTP powinno być zwykle wysyłane za pośrednictwem serwera proxy sieci Web, który łączy sieć lokalną klienta z Internetem (na przykład często jest tak w przypadku klientów sieci Web w firmowej sieci LAN). W przypadku aplikacji opartych na serwerze konfiguracja serwera jest zwykle zarządzana przez administratora serwera przy użyciu narzędzia ProxyCfg.exe WinHTTP. Administrator serwera zna nazwę serwera proxy z wyprzedzeniem i używa ProxyCfg.exe do zarejestrowania tego ustawienia w rejestrze, w którym winHTTP może go wyszukać. Jednak wymaganie od użytkowników końcowych komputerów klienckich ręcznego konfigurowania ustawień serwera proxy WinHTTP jest problematyczne. Użytkownik końcowy może nie znać nazwy serwera proxy; Wymaganie od użytkownika końcowego uruchomienia narzędzia ProxyCfg.exe może być obciążeniem pomocy technicznej dla organizacji. Aby zapewnić obsługę dobrego środowiska użytkownika, aplikacja kliencka z obsługą sieci Web powinna określić konfigurację serwera proxy bez interwencji użytkownika.
Aby ułatwić konfigurowanie ustawień serwera proxy dla aplikacji opartych na protokole WinHTTP, winHTTP implementuje teraz protokół automatycznego odnajdywania serwera proxy sieci Web (WPAD) , często określany jako autoproxy. Jest to ten sam protokół, który przeglądarki internetowe implementują w celu automatycznego odnajdywania konfiguracji serwera proxy bez konieczności ręcznego określania serwera proxy przez użytkownika końcowego. Ta funkcja jest dostępna od winHTTP w wersji 5.1 w systemie Windows 2000 z dodatkiem Service Pack 3, Windows XP z dodatkiem Service Pack 1 i Windows Server 2003. Należy pamiętać, że chociaż zarówno programy Microsoft Internet Explorer, jak i Microsoft WinHTTP obsługują WPAD, specyfikacja nigdy nie przekroczyła etapu "Internet-Draft" i wygasła w maju 2001 r.
Protokół WPAD działa w następujący sposób:
Przy użyciu protokołów sieciOWYCH DHCP i/lub DNS adres URL pliku automatycznej konfiguracji serwera proxy (PAC) jest wykrywany. Adres URL identyfikuje plik PAC w sieci lokalnej klienta. WinHTTP obsługuje tylko adresy URL PAC "http:" i "https:"; nie obsługuje na przykład adresów URL "file:".
Plik PAC jest pobierany i opcjonalnie buforowany na komputerze klienta. Plik PAC jest skryptem wykonywalnym, który generuje listę co najmniej jednego serwera proxy, biorąc pod uwagę docelową nazwę hosta i adres URL. WinHTTP obsługuje tylko pliki PAC oparte na języku ECMAScript.
Na każdym żądaniu HTTP jest wykonywany kod skryptu PAC z nazwą hosta i adresem URL żądania HTTP przekazanym jako parametry. WinHTTP oczekuje, że kod skryptu PAC będzie zawierał funkcję o nazwie FindProxyForURL, w formularzu:
-
FindProxyForURL( url, host );
Ta funkcja oblicza listę co najmniej jednego serwera proxy, który może być używany przez klienta HTTP w celu przesłania żądania. Jeśli skrypt PAC ustali, że klient HTTP może uzyskać bezpośredni dostęp do serwera docelowego bez przechodzenia przez serwer proxy, wskazuje to przy użyciu specjalnej wartości zwracanej.
Tematy autoproxy
- funkcji AutoProxy WinHTTP
- odnajdywanie bez pliku autokonfiguracji
- problemy z autoproxy w WinHTTP
- ustawianie konfiguracji serwera proxy WinInet w usłudze WinHTTP
- autoproxy cache
- rozszerzenia IPv6 do nawigatora Autokonfiguruj format pliku