SCGI extension for Microsoft IIS

The isapi_scgi ISAPI extension for Microsoft IIS implements the Simple Common Gateway Interface (SCGI). SCGI is a standard for communicating with web servers on the back end. Requests received by IIS are passed on to the application server over the SCGI protocol and the response sent back to the client.  Unlike CGI, where the web server will start a new process for every request, SCGI involves a long-running process (the SCGI server) which is handed off requests from the web server and responds as per the protocol. It has the following benefits compared to CGI:

  • It is an order of magnitude or more faster as it avoids all the startup costs associated with the latter, such as process creation, interpreter initialization, loading of application code and re-establishing database connections.
  • Because communication with the web server is on top of TCP, the application code can actually run on a different server if desired for performance or security reasons.

This guide describes isapi_scgi installation and usage but assumes you know how to configure your SCGI application server. However, read the notes on application compatibility.