Top
NetCOBOL V11.0 Web Guide
FUJITSU Software

2.3 Differences between ISAPI and CGI

CGI applications must have an executable module format (.EXE). Therefore, the Web Server generates a separate execution process for each CGI application for each request from the client (Web Browser), and as a result, resources including CPU and memory in the server are consumed in large quantities.

In contrast, ISAPI applications are generated using dynamic link library format (.DLL) and loaded into one overall process in the Web Server. Then, the loaded DLL(s) is controlled by being loaded directly into memory, or being unloaded after a lapse of specified time.

The major difference between ISAPI and CGI is that CGI is executed in separate processes for each request, but ISAPI generates a thread within a common address space in Web Servers and is executed in a multithreaded environment . As a result, the overhead caused by process generation/deletion in CGI, memory allocation, and task switching can be greatly reduced, and Web applications with higher performance can be built.