What is ISAPI
ISAPI stands for Internet Server Application Programming Interface. Basically, they are
programs (non-cgi executables) written to interact & work with requets to a web server.
There are 2 forms of ISAPI programs – extensions and filters.
ISAPI extensions: are directly invokable from a URL such as
http://www.youdomain.com/isapi.dll. Assuming that you have set the proper permissions
(permit Scripts and Executables and the IUSR_MachineName has the Execute NTFS permission)
the dll will run. A good example of an isapi extension is FrontPage Server extensions.
ISAPI Filters ISAPI filters are much more powerful as they are able to modify the incoming
and outgoing data stream to and from IIS. They can be used to implement things such as
custom logging, authentication, or to modify an IIS data stream. ISAPI filters also tend
to run faster than the standard exe as they are optimized to run on your particular web
server platform & once loaded into memory, the server doesn't need those extra cpu cycles
to execute the filter again as it is already loaded into memory.
Features implemented in ISAPI filters for IIS 5 include data compression, digest
authentication, and URLScan.
In IIS 6, all ISAPI filter run out of process. This will insulate the web server from a
wayward ISAPI filter
References
==========
[1] http://www.iis-resources.com