Internet Server API (ISAPI) Extensions

OverviewHow Do I

This family of articles provides an overview on the Internet server extensions and filters you can write using MFC. ISAPI, the Internet Server Application Programming Interface, is a set of APIs used to write OLE Server extensions and filters for Web servers like Internet Information Server. MFC provides five classes that wrap ISAPI. Topics included in this article are:

  • What Is an Internet Server Extension?

  • What Is an ISAPI Filter?

  • What Kind of HTTP Server Is Needed to Run ISAPI?

  • ISAPI Samples

What Is an Internet Server Extension?

An ISAPI server extension is a DLL that can be loaded and called by an HTTP server. Internet server extensions, also known as Internet server applications (ISAs), are used to enhance the capabilities of an Internet Server API (ISAPI)-compliant server. An ISA is invoked from a browser application and provides similar functionality to a Common Gateway Interface (CGI) application. For more information, see the articles ISAPI: Extending Web Servers and ISAPI Extensions: Servers.

What Is an ISAPI Filter?

An ISAPI filter is a DLL that runs on an ISAPI-enabled HTTP server to filter data traveling to and from the server. The filter registers for notification of events, such as logging on or URL mapping. When the selected events occur, the filter is called, and you can monitor and change the data (on its way from the server to the client or vice versa). ISAPI filters can be used to provide enhanced logging of HTTP requests (for example, to track who is logging on to your server), custom encryption, custom compression, or additional authentication methods. For more information, see ISAPI Extensions: Filters.

What Kind of HTTP Server Is Needed to Run ISAPI?

To host Web sites, you must have an Internet server that supports the Hypertext Transfer Protocol (HTTP). If you have chosen an ISAPI-compliant Web server (for example, Microsoft Internet Information Server), you can take advantage of server extension DLLs to create small, fast Internet server applications.

Further Reading

For general information about ISAPI programming, see:

For more information about ISAPI server extensions, see:

For information about ISAPI filters, see:

For tips about ISAPI programming, see:

See Also   , , , , , Internet: Where Is...