如何在 Internet Explorer 中禁用自動代理緩存

“自動代理結果緩存”是添加到 Internet Explorer 5.5 及更高版本中的一項增強性能。此緩存的目的是爲了減少自動代理配置腳本在客戶端的處理。在連接到某個 Internet 站點時,會使用 FindProxyForURL 函數來確定是否應使用代理以及應使用哪一種代理。Internet Explorer 5.5 及更高版本首先檢查“自動代理結果緩存”,以確定以前的連接嘗試是否使用了代理連接到主機。如果此檢查失敗,則表明這是當前會話期間到主機的第一次連接嘗試,所以應使用正常的代理檢測邏輯。下表舉例說明了 Internet Explorer 5.5 及更高版本在確定是否應該使用代理以及應使用哪一種代理時所用的邏輯:
  • 如果在 Internet Explorer 中打開了“自動檢測設置”,將嘗試從局域網 (LAN) 下載 Wpad.dat 文件並將其作爲自動代理配置腳本處理。如果從該腳本返回一個代理並且 Internet Explorer 已經通過該代理建立了連接,則使用返回的主機和代理服務器名稱更新“自動代理結果緩存”。
  • 如果在 Internet Explorer 中打開了“使用自動配置腳本”,則會下載自動代理配置腳本並處理它。如果從該腳本返回一個代理並且 Internet Explorer 已經通過該代理建立了連接,則使用返回的主機和代理服務器名稱更新“自動代理結果緩存”。
  • 如果 Internet Explorer 是針對靜態代理服務器配置的,將從註冊表中檢索代理服務器名稱。
當 Internet Explorer 使用自動代理配置腳本時,如果腳本的處理結果表明將使用一個代理,則會使用代理服務器打開一個連接。如果此代理服務器無法建立連接,則此代理服務器的名稱將添加到不良代理服務器鏈接列表中,這樣在 30 分鐘內將不使用它。如果自動代理配置腳本中有一個返回的 PROXY 列出了多個代理服務器,則會嘗試此列表中的下一個代理,直至遍歷此列表或建立了連接。如果遍歷此列表後仍未建立連接,那麼您將在 Internet Explorer 中看到“Page Cannot Be Displayed”這一錯誤消息。

在通過代理服務器建立連接後,將緩存站點主機名以及代理服務器的名稱。在同一會話中以後再次嘗試訪問該主機名時,將使用 Internet Explorer 已經緩存的關於使用哪一個代理的信息。因此,所有後續的到此主機的連接都將通過以前使用的代理。這就意味着,如果緩存的服務器名在此會話期間變爲不可用,將不會重新處理自動代理配置腳本,而且您將在 Internet Explorer 中看到“Page Cannot Be Displayed”這一錯誤消息。

可能需要禁用“自動代理結果緩存”以提供所需的代理冗餘。這會導致需要對 Internet Explorer 發出的每一個 GET 請求執行客戶端處理。其結果是 Internet Explorer 的性能將受影響,具體情況視“自動代理配置腳本”的邏輯及其大小而定。要禁用“自動代理結果緩存”,請使用下列方法之一:

注意如果禁用自動代理緩存,可能會影響 Internet Explorer 的性能。
 

方法 1:修改註冊表

重要說明:此部分、方法或任務包含有關如何修改註冊表的步驟。但是,註冊表修改不當可能會出現嚴重問題。因此,請一定嚴格按照下列步驟操作。爲了獲得進一步保護,請在修改註冊表之前對其進行備份。這樣就可以在出現問題時還原註冊表。有關如何備份和還原註冊表的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
322756                                         (http://support.microsoft.com/kb/322756/                        )        如何在 Windows XP 中備份和還原註冊表


您可以使用下面的註冊表項禁用“自動代理結果緩存”:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings


數值:EnableAutoproxyResultCache
類型:REG_DWORD
數據值:0 = 禁用緩存;1(或註冊表項不存在) = 啓用自動代理緩存(這是默認設置)
如果此註冊表項不存在,您可以使用以下註冊表文件創建該註冊表項:
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. 雙擊“禁用緩存自動代理腳本”。
  4. 單擊啓用,然後單擊確定
如果您使用在同一個服務器上處理安全和非安全請求的代理服務器進行連接,則可能必須使用此註冊表項。SQUID Proxy Server 軟件就是有這一行爲的代理服務器的一個例子。因爲 Internet Explorer 通常會緩存端口信息,所以當它嘗試將安全和非安全響應發送到同一服務器但使用服務器的不同端口號時,它可能無法通過正確的端口號發送安全請求。 有關添加到不良代理服務器列表中的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
320507                                         (http://support.microsoft.com/kb/320507/                        )        Internet Explorer 長達 30 分鐘無法重試不良代理服務器
 
 
 
發佈了12 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章