Like ISAPI applications, ISAPI filters are programs that respond when the Web server receives an HTTP request. They are different from applications in that they are driven by Web server events rather than by a client request. You can associate an ISAPI filter with a particular Web server event; the filter is then notified every time its associated event occurs. For example, a filter could be notified when a read or write event occurs and then encrypt the raw data to be returned to the client.
You can install filters for all sites on a server (global filters), and you can install filters for individual Web sites. If you install both global filters and site filters, the two filter lists are merged for the site.
When several filters have registered for the same event, they are called sequentially. Filters with a higher priority are run before filters with a lower priority. If several filters have the same priority, global filters set in the master properties are run before filters set at the site level. Filters with the same priority at the same inheritance level are run according to the order in which they were loaded. You can change the filter load order on the property sheets for the Web server or Web site.
Unlike ISAPI applications, ISAPI filters are always run in the server process.
To add a filter to a Web server or Web siteNote If you are adding filters to a Web site, you will not see any global filters inherited from the Web server's master properties. You will see only the filters installed for the Web site, even though both sets of filters are run.
Note If an HTTP request triggers an event for which the filter is registered, the filter will receive the data contained in the request regardless of whether the request is for a file, a CGI application, or an ISAPI application.
For more information on developing ISAPI filters, see ISAPI.