在IIS的文檔中經常會提到兩個術語:ISAPI擴展和ISAPI篩選器。
ISAPI擴展
“ISAPI擴展(ISAPI Extension)”是一種可以添加到IIS中以增強Web服務器功能的程序,其載體為DLL文件。通常直接負責響應HTTP請求。
根據HTTP請求要訪問的資源擴展名(通過URL獲取),IIS會選取特定的ISAPI擴展來處理這一請求,這一過程被稱為“程序映射”。 而用於響應HTTP請求的被稱為“HTTP Handler(HTTP處理程序)”。 圖 8‑11展示了IIS 6中的程序映射。
在圖 8‑11中可以看到,IIS指定對ASP.NET網頁(其擴展名為.aspx)的請求將由aspnet_isapi.dll處理(圖 8‑12)。
IIS 7中的程序映射與IIS 6略有不同。當IIS 7以“經典模式”運行時,與IIS 6一樣使用aspnet_isapi.dll響應針對“.aspx”的請求。但當IIS 7以“集成模式”運行時,則使用托管處理程序(System.Web.UI.PageHandlerFactory)響應針對“.aspx”的請求(圖 8‑13)。
2 ISAPI篩選器
“ISAPI篩選器(ISAPI Filter)”也是一種DLL但不負責處理HTTP請求,主要作用是響應某些特定的事件。當這些事件發生時ISAPI篩選器被調用,它可以修改傳入或傳出的HTTP數據。在IIS 7中,使用“HTTP模塊(HTTP Module)”取代了傳統ISAPI篩選器的功能。
注意:ISAPI擴展與ISAPI篩選器名字很相近,但其在IIS中的地位和所起的作用是不同的。