共用方式為


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,但規格從未進展超過「網際網路草稿」階段,並在 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 主題