ISAPI module

ISAPI support

Overview
The ISAPI module is responsible for loading and running ISAPI filters and extensions. ISAPI provides a vendor-independent way of extending the functionality of your web server. It offers far more flexibility than the CGI interface and avoids all the performance limitations. Within the Zeus Webserver, you can choose to run both filters and extensions as "in-process" or "out-of-process". "in-process" means that filters or extensions run in the same process space as the virtual-server, while "out-of-process" means that these run in a separate process, independent from the server.

You should note that "in-process" ISAPI could affect the stability and/or performance of your virtual-server (as "in-process" ISAPI filters and extensions run in the same process space as the virtual-server), if you are running a filter or extension that has very high latency (I/O intensive or with long processing cycles) "in-process", that means that the virtual- server will be unable to process further requests until the ISAPI module is done processing. In this case the ideal situation is to run it "out-of-process". Other factors to consider are the stability/security of the filters and extensions you are running. If these prove to be unreliable or unsecure, the integrity of the virtual-server could be compromised, if you run these as "out-of-process" the only affected component of the Webserver would be the ISAPI runner, not the parent virtual-server processes.

Some examples of common choices are depicted in the following table:

Type of extension/filter: Run as...
Authentication Filter "out-of-process"
Content generation via database access "out-of-process"
Low I/O, high performance map filter "in-process"
Filters/Extensions running in benchmark environments "in-process"

Reference

Configuration
ISAPI extensions are referenced by URL, in the same manner as CGI scripts. The server will only run ISAPI extensions which live in valid isapialias directories. These directories can be configured using the map or htaccess module.

When you configure the ISAPI module, you have the option to choose if extensions in this particular virtual-server will run "in-process" or "out-of-process".

ISAPI filters can also be run as "in-process" or "out-of-process", they can be added and deleted entering the details in the appropriate text box in the ISAPI configuration page.

Filters can be removed by clicking the "Delete" button. Once you delete, add new filters or change the preferred run method for extensions you need to restart the particular virtual-server where you run them.