共用方式為


WinHTTP AutoProxy 支援

為了簡化 Proxy 設定的設定,WinHTTP 5.1 會實作 Web Proxy 自動探索 (WPAD) 通訊協定,也稱為 autoproxy。

AutoProxy 概觀

使用 WinHTTP 傳送 HTTP 要求的應用程式和元件應該確保 Proxy 組態已正確設定。 除非用戶端有直接因特網連線,否則 HTTP 要求通常應該透過將用戶端的區域網路連線到因特網的 Web Proxy 伺服器傳送(例如,這通常是公司 LAN 上的 Web 用戶端的情況)。 針對伺服器型應用程式,Proxy 設定通常會由伺服器的系統管理員使用 WinHTTP ProxyCfg.exe 公用程式來管理。 伺服器管理員事先知道 Proxy 伺服器的名稱,並使用 ProxyCfg.exe 在 WinHTTP 可以查閱的登錄中記錄此設定。 不過,要求用戶端桌面用戶手動設定WinHTTP Proxy 設定有問題。 使用者可能不知道 Proxy 伺服器的名稱;要求終端使用者執行 ProxyCfg.exe 公用程式可能是組織的支持負擔。 為了支援良好的用戶體驗,啟用 Web 的用戶端應用程式應該判斷 Proxy 設定,而不需使用者介入。

為了更輕鬆地設定 WinHTTP 型應用程式的 Proxy 設定,WinHTTP 現在會實作 Web Proxy 自動探索 (WPAD) 通訊協定,通常稱為 autoproxy。 這是網頁瀏覽器實作的相同通訊協定,可自動探索 Proxy 設定,而不需要使用者手動指定 Proxy 伺服器。 此功能從 Windows 2000 Service Pack 3、Windows XP Service Pack 1 和 Windows Server 2003 的 WinHTTP 5.1 版開始提供。 請注意,雖然Microsoft Internet Explorer 和 Microsoft WinHTTP 支援 WPAD,但規格從未在“Internet-Draft” 階段之後進行,並在 2001 年 5 月到期。

WPAD 通訊協定的運作方式如下:

  1. 使用 DHCP 和/或 DNS 網路協定,會探索 Proxy 自動設定 (PAC) 檔案的 URL。 URL 會識別用戶端局域網路上的 PAC 檔案。 WinHTTP 僅支援 “HTTP:” 和 “https:” PAC URL;例如,它不支援 “file:” URLS。

  2. PAC 檔案會下載並選擇性地快取在用戶端電腦上。 PAC 檔案是可執行的腳本,其會產生一或多個 Proxy 伺服器清單,並提供目標主機名和 URL。 WinHTTP 僅支援以 ECMAScript 為基礎的 PAC 檔案。

  3. 在每個 HTTP 要求上,會執行 PAC 腳本程式代碼,並以參數方式傳入 HTTP 要求的主機名和 URL。 WinHTTP 預期 PAC 腳本程式代碼包含名為 FindProxyForURL的函式,格式如下:

  4. FindProxyForURL( url, host );
    

    此函式會計算 HTTP 用戶端可用來傳輸要求的一或多個 Proxy 伺服器清單。 如果 PAC 腳本判斷 HTTP 用戶端可以直接連線到目標伺服器,而不需要完全通過 Proxy 伺服器,則會使用特殊傳回值表示這一點。

AutoProxy 主題