About FastCGI original official site
Since fastcgi.com is not available anymore (last backup on wayback machine are at 20/03/2016), I (mcarbonneaux) created this repository and linked website fastcgi-archives.github.io to host the FastCGI information backup.
Contents of this site
This repository contains the backup of the original site :
-
The original version from fastcgi.com, pulled from the Wayback Machine archive with the last wayback backup at 20/03/2016, to FastCGI-Archives/FastCGI.com github project.
-
A markdown version, manually converted from the original, at FastCGI-Archives/fastcgi-archives.github.io.
This repository also contains the backup the original site source code :
-
In FastCGI-Archives/FastCGI.com github project are the original last snapshot pulled from the Wayback Machine archive of the source of the fcgi sdk and mod_fastcgi apache module.
- In FastCGI-Archives/fcgi2 github project the source fork of the fcgi sdk.
- In FastCGI-Archives/mod_fastcgi github project the source fork of the apache mod_fastcgi module.
FastCGI Specification copyright
This is not an official repository nor is it linked in any way to the original fastcgi.com website and FastCGI copyright owners.
The FastCGI Specification is intellectual property of Open Market Inc. Copyright © 1996 Open Market, Inc. 245 First Street, Cambridge, MA 02142 U.S.A. Tel: 617-621-9500 Fax: 617-621-1703 URL: http://www.openmarket.com/
About original maintainers and autor at FastCGI.com
Based on last backup on wayback machine at 13/03/2016:
- Original designer and developer: Mark R. Brown (when at OpenMarket)
- Last Maintainer: Rob Saccoccio (when at Infinite Technology Inc.)
- Website Editor: Daniel Lo
- PERL ISS Windows binaries.: Lyle Hopkins
- Wrote and maintains the indispensable FCGI module for Perl : Sven Verdoolaege
- Cheer leading, testing, and system administration advice and support : David Birnbaum
About FastCGI protocol
FastCGI is simple because it is actually CGI with only a few extensions.
-
Like CGI, FastCGI is also language-independent. For instance, FastCGI provides a way to improve the performance of the thousands of Perl applications that have been written for the Web.
-
Like CGI, FastCGI runs applications in processes isolated from the core Web server, which provides greater security than APIs. (APIs link application code into the core Web server, which means that a bug in one API-based application can corrupt another application or the core server; a malicious API-based application can, for example, steal key security secrets from another application or the core server.)
-
Although FastCGI cannot duplicate the universality of CGI overnight, the FastCGI developers are committed to propagating FastCGI as an open standard. To that end, free FastCGI application libraries (C/C++, Java, Perl, Tcl) and upgrade modules for popular free servers (Apache, ISS, Lighttpd) are available.
-
Like CGI, FastCGI is not tied to the internal architecture of any Web server and is therefore stable even when server technology changes. An API reflects the internal architecture of a Web server, so when that architecture changes, so does the API.
Not only does FastCGI restore the strengths of CGI, it also adds two new benefits:
-
Distributed computing: Companies can run their FastCGI application on a different machine from the one on which they run their Web server. Distributed computing is a proven technique for scaling, linking to existing corporate systems, improving system availability, and improving security via compartmentalization, such as firewalls.
-
Multiple and extensible roles: CGI applications compute the response to an HTTP request. FastCGI applications can do that and more, such as perform modular authentication and authorization checks and translate data from one type to another. FastCGI is designed so that more roles can be introduced in the future.
Development on FastCGI:
There is not much development on FastCGI because it is a very stable protocol / application.
But, yes, we are here…
FastCGI Licence
New FAQ
FAQ
Frequently asked questions, examples and explanations.
FastCGI White Paper
Describes the motivation for FastCGI, the FastCGI interface, FastCGI application roles, the FastCGI application library, and FastCGI performance.
Understanding FastCGI Application Performance
Why FastCGI applications often run faster than applications coded directly to Web server APIs.
FastCGI Developer’ Kit
How to configure and build the kit, and write applications using the FastCGI application libraries.
FastCGI Programmer’ Guide
Programmer-oriented documentation for developers of FastCGI applications. The content overlaps considerably with the Developer’s Kit document.
FastCGI Specification
Defines the interface between a FastCGI application and the Web server.
FastCGI - A High-Performance Gateway Interface
Position paper presented at the workshop “Programming the Web – a search for APIs”, Fifth International World Wide Web Conference, 6 May 1996, Paris, France.
Rob’s Open Source ‘99 Presentations
Two FastCGI related presentations given at O’reilly’s Open Source ‘99 Conference in Monterey, CA.
From the Perl Conference (Applying Perl track):
Scaling CGI with Perl | PowerPoint |
From the Apache Conference:
The Apache FastCGI Implementation | PowerPoint |
The Apache FastCGI Process Manager
A description of some of the functionality of the process manager in mod_fastcgi. I’m not sure how accurate it is.
Servers that support FastCGI
- Apache - http://www.apache.org
- Nginx - http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html
- Lighttpd :
- FastCGI Module : http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI
- FastCGI Usage : https://redmine.lighttpd.net/projects/1/wiki/docs_modfastcgi
- Cherokee - http://cherokee-project.com/doc/modules_handlers_fcgi.html
- Microsoft IIS
- http://www.iis.net/fastcgi/configuration
- (second generation) - http://www.coastrd.com/fastcgi which supports SIGTERM and the Aprellium Abyss server as well
- IIS >7 - https://www.iis.net/configreference/system.webserver/fastcgi
- Resin :
- Proxy Fastcgi to backend : http://wiki4.caucho.com/Application_Server:_Native_PHP_With_FastCGIServlet
- Front End : http://www.caucho.com/resin-4.0/changes/resin-4.0.0.xtp#fastcgisupport
- SunOne - https://docs.oracle.com/cd/E19146-01/821-1828/6nmpm01ns/index.html
- Premium thttpd http://schumann.cx/premium-thttpd/
- MyServer - http://www.myserverproject.net/
- Pi3Web - http://pi3web.sourceforge.net/
- Jetty - http://www.eclipse.org/jetty/documentation/current/fastcgi.html
- caddy web server https://caddyserver.com/docs/fastcgi
API/Libraries
The FastCGI application libraries.
-
The Development Kit - C, C++, Perl, and Java, libraries as well as assorted documentation.
Current: download docs browse - PHP
- Perl
- Perl Usage Instructions
- Perl FCGI
- FCGI wrapper for Microsoft ™ IIS by Lyle Hopkins.
- FCGI by Sven Verdoolaege.
- CGI::Fast by Lincoln D. Stein.
- Catalyst MVC For Perl
- Fastcgi for Ruby
- Python
- Native support of FastCGI pyhton fastcgi
- Jon Ribbens’ multi-threaded ‘servlet’ interface - jonpy
- Robin Dunn’s improvements to Digicool’s module - fcgi.py
- Quentin Pradet’s fork of flup-py module for Python 3 - flup-py3
- FastCGI for .NET
- C/C++
- jFastCGI Servlet
- Golang
- Nodejs
- fastcgi - An extremely simple web server that serves a FastCGI application.
- node-fastcgi - Library for implementing fastcgi application (all 3 roles).
- kcgi – minimal CGI and FastCGI library in C
- Rust FastCGI package
- Lua FastCGI extension
- haskell FastCGI package
- FastCGI4D A Tango compatible FastCGI library for the D language
- TCL - TCL
- Common Lisp
- Goanna Eiffel - The Goanna Eiffel project includes a native implementation of FastCGI for use with its web application libraries.
- GNU Smalltalk
- Jeff Coffield’s VMS module.
- Scheme
- Phil Eaton’s module for Chicken Scheme
- NoSQL-Database GT.M
- Aalen University FastCGI-for-GT.M
Articles on FastCGI
- FastCGI — The Forgotten Treasure from Peter Simons
- FastCGI: Persistent Applications for Your Web Server from Paul Heinlein of linuxjournal