如何在 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 分钟无法重试不良代理服务器
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值