# CGI vs. Web Server APIs

The Common Gateway Interface (CGI) was introduced as a standard protocol for extending the functionality of Web servers with additional applications. Most CGI applications are simple executables that are launched every time they are requested. ColdFusion uses a more robust architecture. The ColdFusion Application Server runs as a multi-threaded system service and handles all of the complicated processing. The Application Server communicates with the Web server either through a very small CGI executable referred to as the stub (`cfml.exe`) or through a native Web server API.

As Web servers have developed, each vendor has introduced and implemented an application programming interface (API) for their server. The native Web server APIs offer additional features and significantly increased performance. Instead of launching a CGI executable, servers supporting an API communicate directly with the ColdFusion application server through a DLL.

In addition to introducing server APIs, many server vendors have created document type mapping, so that individual document extensions can be associated with a process. This makes it possible to create ColdFusion application pages that are stored directly in the Web server's root directory.

ColdFusion supports the following major native Web server APIs:

- Netscape API (NSAPI)
- Internet Server API (ISAPI)
- Website API (WSAPI)
- Apache API

These APIs and document type mapping are supported by these servers:

- Netscape Enterprise and FastTrack Servers
- Microsoft IIS (all versions)
- WebSite (1.1 and Pro)
- Apache