Whither CGI?

Many UNIX servers use a standard called CGI for writing server-side extensions. While Microsoft's server supports CGI, Dr. GUI recommends using ISAPI applications and ISAPI filters instead.

ISAPI applications are a preferred alternative to CGI. Rather than writing a stand-alone application, you write a DLL that is run by the server. (Visual C++ 4.1, at http://www.microsoft.com/visualc/, even has an AppWizard for ISAPI applications and filters.)

The advantage of ISAPI applications is primarily speed. Since the application is a DLL that is in the server's address space, there's no overhead for starting a new process each time a user accesses the application. This makes ISAPI considerably faster than CGI—very important for busy servers.

ISAPI filters have no CGI analog. They allow pre-processing of requests and post-processing of responses, permitting site-specific handling of HyperText Transport Protocol (HTTP) requests and responses. ISAPI filters can be used for applications such as customized authentication, access, or logging.