ISA Server 使用内置的 Web 代理应用程序筛选器来保护 HTTP 流量。该应用程序筛选器支持三种不同的方案:用于保护公司用户对 Internet 的出站访问的正向代理和透明代理,以及用于保护 Internet 用户对内部 Web 站点的入站访问的反向代理。接下来的几个小节从性能的角度描述每种方案,并解释如何使用缓存来提高性能。
正向代理
在正向代理中,客户端 Web 浏览器知道代理的存在。例如在 Internet Explorer 中,这是通过在 Internet 选项中设置代理服务器或自动检测设置来实现的。当 Web 客户端知道代理时,它们直接打开到代理的连接,并向代理发送针对 Internet 上的位置的请求。(例如,Internet Explorer 在发送 HTTP 1.1 请求时,将会打开两个到代理的连接。)当 ISA Server 接收到针对某服务器的请求时,它会打开一个到该服务器的连接,并将该连接再次用于从其他客户端向相同服务器发出的其他请求。这样就形成了一个星形连接拓扑。
这种方案的性能优势在于,它允许高度重用连接,从而最小化打开的连接的数量以及连接速率。
透明代理
在透明代理中,客户端 Web 浏览器不知道代理的存在。它们以为所发送的信息是直接路由到 Internet 上的服务器的,中间没有代理。明确地说,Web 客户端通过打开与目标 Web 站点的连接来直接访问 Internet 服务器。这样导致了连接速率显著提升,因为在用户请求某个新的服务器上的页面之后,Web 浏览器将关闭它与当前 Web 服务器的连接,然后打开与新的 Web 服务器的新的连接。这是透明代理的典型特征,并对 ISA Server 性能产生影响。通常,透明代理中的客户端连接速率大约要比正向代理中的客户端连接速率高三倍,从而每请求所消耗的处理器周期大约是后者的两倍。
透明代理是很流行的方案,因为它很容易部署,对于拥有异类客户群的 Internet 服务提供商(ISP)尤其如此。由于这个原因,此方案能够显著提高性能。
一般情况下,与正向代理相比,用于透明代理的 ISA Server 需要两倍的 CPU 资源量。
反向代理
反向代理或 Web 发布的工作方式与正向代理相同,只不过方向是入站而不是出站。在该方案中,ISA Server 充当由 Internet 上的客户端访问的 Web 站点。客户端不知道它们正在访问的 Web 站点其实是一个代理。与正向代理一样,由于高效的连接重用,连接数量和连接速率都保持在最低水平。反向代理用于 Web 服务器的安全发布,比如:Internet 信息服务 (IIS)、Outlook Web Access、SharePoint Portal Server 等等。
从性能的角度看,反向代理具有类似正向代理的特征。主要区别在于,从 ISA Server 流向 Internet 用户的大多数流量需要大量的 Internet 连接。正如下一小节将要解释的那样,当启用了 Web 缓存时,正向代理和反向代理具有不同的性能影响。