Fast Common Gateway Interface (FastCGI)
Definition - What does Fast Common Gateway Interface (FastCGI) mean?
Fast Common Gateway Interface (FastCGI) is a standard protocol for interfacing external applications to Web servers. It is a feature-enhanced version of the existing standard Common Gateway Interface (CGI). FastCGI remains the preferred choice over CGI and other proprietary server application programming interfaces (APIs) because its features are fast, open and maintainable. However, FastCGI remains a proposed open standard and is not yet widely used.
Techopedia explains Fast Common Gateway Interface (FastCGI)
FastCGI extends and enhances the CGI model in several ways:
- Applications may be written in any programming language
- Supports process isolation so that a defective FastCGI application cannot crash or corrupt core servers or other applications
- It is platform independent and not tied to any particular server architecture. Any Web server can implement a FastCGI interface.
- Provides reliable performance and processes that can be used recurrently to handle multiple requests
- Migration from CGI is simple.
- Supports distributed architecture
- It is a nonproprietary, proposed open standard and developers are committed to open standardization. Thus, libraries and modules are freely available to popular and free Web servers.
FastCGI seems like the solution for all Web server issues. However, its applications have disadvantages, including:
- Memory leaks may occur because FastCGI applications do not terminate after each Web server request.
- Although FastCGI supports process isolation, it does not support request isolation. FastCGI applications handle complex multiple requests simultaneously. Thus, rather than isolating the defective request, all other requests also crash.
- Writing multiplexing FastCGI applications is complex and time-consuming.