ISA Server 使用內(nèi)置的 Web 代理應(yīng)用程序篩選器來保護 HTTP 流量。該應(yīng)用程序篩選器支持三種不同的方案:用于保護公司用戶對 Internet 的出站訪問的正向代理和透明代理,以及用于保護 Internet 用戶對內(nèi)部 Web 站點的入站訪問的反向代理。接下來的幾個小節(jié)從性能的角度描述每種方案,并解釋如何使用緩存來提高性能。
正向代理 在正向代理中,客戶端 Web 瀏覽器知道代理的存在。例如在 Internet Explorer 中,這是通過在 Internet 選項中設(shè)置代理服務(wù)器或自動檢測設(shè)置來實現(xiàn)的。當(dāng) Web 客戶端知道代理時,它們直接打開到代理的連接,并向代理發(fā)送針對 Internet 上的位置的請求。(例如,Internet Explorer 在發(fā)送 HTTP 1.1 請求時,將會打開兩個到代理的連接。)當(dāng) ISA Server 接收到針對某服務(wù)器的請求時,它會打開一個到該服務(wù)器的連接,并將該連接再次用于從其他客戶端向相同服務(wù)器發(fā)出的其他請求。這樣就形成了一個星形連接拓?fù)洹?br>這種方案的性能優(yōu)勢在于,它允許高度重用連接,從而最小化打開的連接的數(shù)量以及連接速率。 透明代理 在透明代理中,客戶端 Web 瀏覽器不知道代理的存在。它們以為所發(fā)送的信息是直接路由到 Internet 上的服務(wù)器的,中間沒有代理。明確地說,Web 客戶端通過打開與目標(biāo) Web 站點的連接來直接訪問 Internet 服務(wù)器。這樣導(dǎo)致了連接速率顯著提升,因為在用戶請求某個新的服務(wù)器上的頁面之后,Web 瀏覽器將關(guān)閉它與當(dāng)前 Web 服務(wù)器的連接,然后打開與新的 Web 服務(wù)器的新的連接。這是透明代理的典型特征,并對 ISA Server 性能產(chǎn)生影響。通常,透明代理中的客戶端連接速率大約要比正向代理中的客戶端連接速率高三倍,從而每請求所消耗的處理器周期大約是后者的兩倍。 透明代理是很流行的方案,因為它很容易部署,對于擁有異類客戶群的 Internet 服務(wù)提供商(ISP)尤其如此。由于這個原因,此方案能夠顯著提高性能。 一般情況下,與正向代理相比,用于透明代理的 ISA Server 需要兩倍的 CPU 資源量。 反向代理 反向代理或 Web 發(fā)布的工作方式與正向代理相同,只不過方向是入站而不是出站。在該方案中,ISA Server 充當(dāng)由 Internet 上的客戶端訪問的 Web 站點。客戶端不知道它們正在訪問的 Web 站點其實是一個代理。與正向代理一樣,由于高效的連接重用,連接數(shù)量和連接速率都保持在最低水平。反向代理用于 Web 服務(wù)器的安全發(fā)布,比如:Internet 信息服務(wù) (IIS)、Outlook Web Access、SharePoint Portal Server 等等。 從性能的角度看,反向代理具有類似正向代理的特征。主要區(qū)別在于,從 ISA Server 流向 Internet 用戶的大多數(shù)流量需要大量的 Internet 連接。正如下一小節(jié)將要解釋的那樣,當(dāng)啟用了 Web 緩存時,正向代理和反向代理具有不同的性能影響。