This documentation is archived and is not being maintained.

CHttpFilter Class 

Creates and manages, with CHttpFilterContext, a Hypertext Transfer Protocol (HTTP) filter object.

class CHttpFilter

CHttpFilter does not have a base class.

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

  • Compression

  • Encryption

  • Logging

  • 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.


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.

Header: afxisapi.h

This class is not supported in Smart Device projects.