|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
CHttpFilter does not have a base class.
CHttpFilter creates and manages, with CHttpFilterContext, a Hypertext Transfer Protocol (HTTP) filter object. An HTTP filter is a replaceable dynamic link library (DLL) that the server calls on every HTTP request. When the filter is loaded, it tells the server what sort of notifications it is interested in. After that, whenever the selected events occur, the filter is called and given the opportunity to process that event.
ISAPI (Internet Server API) filters are powerful enough to allow for the following applications:
- Custom authentication schemes
- Traffic analysis or other request analysis
Multiple filters can be installed. The notification order is based on the priority specified by the filter and then the load order in the registry for any ties. Consult your filter's documentation to see exactly how to install your filter.
Note Once a filter begins processing a request, it will receive the data regardless of whether the request is for a file or an ISAPI application.
The filter applications sit between the network connection to the client and the HTTP server. Depending on the options that the filter application chooses, it can act on several server actions, including reading raw data from the client, processing the headers, communications over a secure port (PCT — Personal Communications Technology, SSL — Secure Sockets Layer, and others), or several other stages in the processing of the HTTP request.
To set the filter notifications that your filter will use, see GetFilterVersion.
For more information on Internet filters, see ISAPI Extensions: Filters. For information about creating an Internet filter with ISAPI Extension Wizard, see Steps to Create a Typical ISAPI Filter.