FastCGI Developer's Kit Index Page
- doc/
directory.
- FastCGI
Technical White Paper. Start here.
Motivates FastCGI, then explains the FastCGI interface,
FastCGI application roles, the FastCGI application
library, server support for FastCGI, and FastCGI performance.
- Understanding FastCGI
Application Performance document.
Why FastCGI applications often run faster than applications
coded directly to Web server APIs.
- FastCGI Developer's Kit
document.
- Describes how to configure and build the
kit for your development platform.
- Tells how to write applications using the
libraries in the kit.
- Documents cgi-fcgi, a tool in the kit
that allows you to develop and test FastCGI applications
using a Web server that lacks FastCGI support.
- Open Market
FastCGI 1.0 Programmer's Guide.
Programmer-oriented documentation for developers of
applications that run on the Open Market's Secure
WebServer 2.0. The content overlaps considerably with Section 3
of the Developer's Kit document.
- FCGI_Accept.3,
FCGI_Finish.3,
FCGI_SetExitStatus.3,
FCGI_StartFilterData.3,
and
cgi-fcgi.1 manpages.
- Integrating FastCGI with Perl-5
document.
How to build FastCGI support into the Perl-5 interpreter
and how to write FastCGI applications in Perl.
- Integrating FastCGI with Tcl
document.
How to build FastCGI support into the Tcl interpreter
and how to write FastCGI applications in Tcl.
- Integrating FastCGI with Java
document.
How to build Web server applications in Java using
FastCGI.
- FastCGI:
A High-Performance Gateway Interface document.
Position paper presented at the workshop
"Programming the Web -- a search for APIs",
Fifth International World Wide Web Conference,
6 May 1996, Paris, France. Short paper, addressed to an
audience of technical specialists.
- FastCGI Specification
document.
Defines the interface between a FastCGI
application and a Web server that supports FastCGI.
This is dry stuff, not needed for writing applications!
- include/
directory.
.h files for the FastCGI libraries.
- libfcgi/
directory.
.c files for the FastCGI libraries.
- examples/
directory.
Several example programs. The links below invoke the
programs. Use the section that corresponds to the
Web server you have configured for FastCGI:
- Open Market Secure WebServer:
- echo,
an example program that returns a page containing all of its
inputs -- environment variables and stdin. (Source code:
echo.c.)
Notice the FastCGI process ID in the initial
environment (there are two echo processes
running). Also notice the request variables
that carry ticketing information (SI_*);
the anonymous ticket has been forced into the URL so you
can see it. Alter it if you wish -- see what happens.
- echo,
the same program accessed via a URL that is access
controlled by a simple Authorizer.
(Source code:
tiny-authorizer.c.)
Authenticate with user ID fastcgi and
password sano to gain access. In addition
to demonstrating Authorizer-based access control, this
application demonstrates Authorizer-controlled session affinity:
Use the query string
?0
to route your request to echo process 0,
and the query string
?1
to route your request to echo process 1.
- sample-store,
a more realistic example. (Source code:
sample-store.c.)
This shopping cart implementation demonstrates how
FastCGI applications can get high performance using
in-memory caching yet preserve data across crashes.
Request routing is controlled by the anonymous ticket in
the URL; if you erase your ticket you'll get a new
shopping cart. Using ps, locate and kill the
two sample-store processes; the Web server will
restart them and the new processes will recover your
shopping cart. The program also illustrates how a
single application can play multiple roles.
- NCSA and Apache servers:
- echo,
an example program that returns a page containing all of its
inputs -- environment variables and stdin. (Source code:
echo.c.)
- Any Web server, using cgi-fcgi:
- echo,
an example program that returns a page containing all of its
inputs -- environment variables and stdin. (Source code:
echo.c.)
- perl-5/
directory.
Bits for building FastCGI-integrated Perl-5 if you can't
use the already-built Perl-5 interpreters from
www.fastcgi.com.
- tcl/
directory.
Bits for building FastCGI-integrated Tcl if you can't
use the already-built Tcl interpreters from
www.fastcgi.com.
- java/src
directory.
Source code for FastCGI Java classes.
- cgi-fcgi/
directory.
.c file for the CGI-to-FastCGI bridge.
© 1996, Open Market, Inc.