文章編號: 271361 - 檢視此文章適用的產品。
重要 本文包含如何修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和編輯登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Description of the Microsoft Windows registry
全部展開 | 全部摺疊

在此頁中

結論

當您設定 Internet Explorer 使用自動 Proxy 組態指令碼時,它會快取 FindProxyForURL 呼叫所傳回的 Proxy。此快取機制 (自動 Proxy 結果快取) 是針對主機執行 (而不是針對 URL)。這可防止您使用不同的 Proxy 來存取相同的網頁伺服器。下列範例案例將示範此行為:
  • 設定一個名為「Webserver」的網頁伺服器,並建立兩個虛擬資料夾:「/login」和「/test」。
  • 建立下列 .pac 檔:
    function FindProxyForURL (url, host)
    {
    if shExpMatch (url, "http://webserver/login") return "DIRECT";
    else return "PROXY myproxy:80";
    }
  • 設定 Internet Explorer 使用這個 .pac 檔。
  • 啟動 Internet Explorer 並輸入下列網址:
    http://webserver/login
    Internet Explorer 會載入這個 .pac 檔並正確地使用直接連線。
  • 出現登入頁面時,輸入 http://webserver/test。如果您使用網路監視器,會發現存取「http://webserver/test」的方式仍然是使用直接連線而非「myproxy」。

其他相關資訊

「自動 Proxy 結果快取」是新增至 Internet Explorer 5.5 及更新版本的一項效能增強功能。此快取的目的是要減少用戶端對自動 Proxy 組態指令碼的處理。當您連線到網際網路網站時,FindProxyForURL 函數可用來決定是否應該使用 Proxy 以及要使用哪一個 Proxy。Internet Explorer 5.5 及更新版本會先檢查「自動 Proxy 結果快取」,判斷先前是否已使用 Proxy 來連線到主機。如果此項檢查失敗,表示這是目前工作階段期間第一次嘗試連線到主機,所以適用一般 Proxy 偵測邏輯。下列清單將說明 Internet Explorer 5.5 及更新版本用來判斷是否應該使用 Proxy 以及要使用哪一個 Proxy 的邏輯:
  • 如果在 Internet Explorer 中開啟了 [自動偵測設定],則會嘗試從區域網路 (LAN) 下載 Wpad.dat 檔,並將它當做自動 Proxy 組態指令碼來處理。如果指令碼有傳回 Proxy 且 Internet Explorer 已透過該 Proxy 建立連線,則「自動 Proxy 結果快取」就會以傳回的主機和 Proxy 伺服器名稱進行更新。
  • 如果在 Internet Explorer 中開啟了 [使用自動組態指令碼],則會下載並處理自動 Proxy 組態指令碼。如果指令碼有傳回 Proxy 且 Internet Explorer 已透過該 Proxy 建立連線,則「自動 Proxy 結果快取」就會以傳回的主機和 Proxy 伺服器名稱進行更新。
  • 如果設定 Internet Explorer 使用靜態 Proxy 伺服器,則會從登錄中擷取 Proxy 伺服器名稱。
當 Internet Explorer 使用自動 Proxy 組態指令碼時,如果指令碼的處理結果指出要使用 Proxy,就會以 Proxy 伺服器開啟連線。如果 Proxy 伺服器無法建立連線,則會將 Proxy 伺服器名稱加入至不正確 Proxy 伺服器連結的清單中,讓系統在 30 分鐘內都不使用它。如果自動 Proxy 組態指令碼含有會列出多個 Proxy 伺服器的 PROXY 傳回清單,則系統會嘗試清單中的每一個 Proxy,直到清單中所有 Proxy 都嘗試過或是建立連線為止。嘗試了整個清單之後,如果未能建立連線,就會在 Internet Explorer 中收到一則「無法顯示網頁」的錯誤訊息。

透過 Proxy 伺服器建立連線之後,會快取網站的主機名稱和 Proxy 伺服器名稱。未來嘗試在相同工作階段中存取此主機名稱時,Internet Explorer 即備有要使用哪一個 Proxy 的快取資訊。因此,之後嘗試連線到該主機時,都會透過先前使用的 Proxy。這表示如果快取的 Proxy 伺服器名稱在相同工作階段期間無法使用,自動 Proxy 組態指令碼並不會重新處理,而是會直接在 Internet Explorer 中出現「無法顯示網頁」的錯誤訊息。

您可以停用「自動 Proxy 結果快取」來提供所需的 Proxy 備援性。這會導致用戶端需要處理 Internet Explorer 發出的每一個 GET 要求。如此一來,可能會影響 Internet Explorer 的執行效能,影響的程度則取決於「自動 Proxy 組態指令碼」的邏輯及其大小。若要停用「自動 Proxy 結果快取」,請使用下列其中一種方法。

注意 如果停用自動 Proxy 快取,可能會影響 Internet Explorer 的效能。

方法 1:修改登錄

警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。您可能需要重新安裝作業系統,才能解決這些問題。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。

您可以利用下列登錄機碼來停用「自動 Proxy 結果快取」:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings


數值:EnableAutoproxyResultCache
類型:REG_DWORD
資料值:0 = 停用快取;1 (或機碼不存在) = 啟用自動 Proxy 快取 (這是預設行為)
如果登錄機碼不存在,您可以使用下列登錄檔來建立登錄機碼:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]"EnableAutoProxyResultCache"=dword:00000000"

方法 2:修改群組原則設定

  1. 按一下 [開始],按一下 [執行],輸入 gpedit.msc,然後按一下 [確定]
  2. 在 [群組原則物件編輯器] 中,按兩下 [使用者設定\系統管理範本\Windows 元件\Internet Explorer]
  3. 按兩下 [停用 Auto-Proxy 指令碼的快取]
  4. 按一下 [啟用],然後按一下 [確定]
如果您使用會在相同伺服器上處理安全及非安全要求的 Proxy 伺服器來進行連線,則可能需要使用這個登錄機碼。SQUID Proxy Server 軟體是有此需求的範例之一。由於 Internet Explorer 通常會快取連接埠資訊,所以在傳送安全及非安全回應給不同埠號的相同伺服器時,它可能不會透過正確埠號傳送安全要求。 如需有關不正確 Proxy 伺服器清單的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
320507 Internet Explorer Does Not Retry Bad Proxy Server for 30 Minutes

屬性

文章編號: 271361 - 上次校閱: 2011年5月14日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Windows Internet Explorer 9
  • Windows Internet Explorer 8
  • Windows 7 Enterprise
  • Windows 7 Enterprise N
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Home Premium N
  • Windows 7 Professional
  • Windows 7 Professional N
  • Windows 7 Starter
  • Windows 7 Starter N
  • Windows 7 Ultimate
  • Windows 7 Ultimate N
  • Microsoft Internet Explorer 6.0
  • Windows Internet Explorer 7
關鍵字:?
kbenv kbhowto KB271361
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com