与 ISAPI 扩展类似,ISAPI 筛选器是当 Web 服务器收到 HTTP 请求时进行响应的程序。但是与 ISAPI 扩展不同的是,ISAPI 筛选器总是在服务器进程中运行。ISAPI 筛选器不同于应用程序,因为它们由 Web 服务器事件驱动而不是由客户端请求驱动。可以将 ISAPI 筛选器与特定 Web 服务器事件相关联,此后每当发生关联事件时都将通知筛选器。例如,发生“读取”或“写入”事件时会通知筛选器,然后筛选器对要返回到客户端的原始数据进行加密。
可以为服务器上的所有站点安装筛选器(全局筛选器),也可以为单个网站安装筛选器。如果同时安装全局筛选器和站点筛选器,这两种筛选器将被合并。
如果为同一事件注册了多个筛选器,将按顺序对其进行调用。优先级较高的筛选器在优先级较低的筛选器之前运行。如果几个筛选器的优先级相同,则在主属性中设置的全局筛选器将在站点级设置的筛选器之前运行。在同一继承级别具有相同优先级的筛选器将根据其加载顺序运行。可以在 Web 服务器或网站的属性页中更改筛选器的加载顺序。
将筛选器添加到 Web 服务器或网站注意 如果正将筛选器添加到网站,将无法看到任何从 Web 服务器主属性继承的全局筛选器。您只能看到为此网站安装的筛选器,尽管两组筛选器都在运行。
注意 只能更改具有相同优先级的筛选器的加载顺序。
注意 如果 HTTP 请求触发了一个已注册了筛选器的事件,则筛选器将接收包含在请求中的数据,不管此请求是针对文件、CGI 应用程序或是 ISAPI 扩展。