3 <title>FastCGI Developer's Kit Index Page</title>
8 <h2>FastCGI Developer's Kit Index Page</h2>
11 <!--Copyright (c) 1996 Open Market, Inc. -->
12 <!--See the file "LICENSE.TERMS" for information on usage and redistribution-->
13 <!--of this file, and for a DISCLAIMER OF ALL WARRANTIES. -->
14 <!-- $Id: index.html,v 1.1 1997/09/16 15:36:25 stanleyg Exp $ -->
17 <li><a HREF = "doc">doc/</a>
20 <li><a href = "doc/fastcgi-whitepaper/fastcgi.htm">FastCGI
21 Technical White Paper.</a> Start here.<br>
22 Motivates FastCGI, then explains the FastCGI interface,
23 FastCGI application roles, the FastCGI application
24 library, server support for FastCGI, and FastCGI performance.
25 <li><a href = "doc/fcgi-perf.htm">Understanding FastCGI
26 Application Performance</a> document.<br>
27 Why FastCGI applications often run faster than applications
28 coded directly to Web server APIs.
29 <li><a HREF = "doc/fcgi-devel-kit.htm">FastCGI Developer's Kit</a>
32 <li>Describes how to configure and build the
33 kit for your development platform.
34 <li>Tells how to write applications using the
36 <li>Documents <tt>cgi-fcgi</tt>, a tool in the kit
37 that allows you to develop and test FastCGI applications
38 using a Web server that lacks FastCGI support.
40 <li><a href = "doc/fastcgi-prog-guide/cover.htm">Open Market
41 FastCGI 1.0 Programmer's Guide.</a><br>
42 Programmer-oriented documentation for developers of
43 applications that run on the Open Market's Secure
44 WebServer 2.0. The content overlaps considerably with Section 3
45 of the Developer's Kit document.
46 <li><a HREF = "doc/FCGI_Accept.3">FCGI_Accept.3</a>,
47 <a HREF = "doc/FCGI_Finish.3">FCGI_Finish.3</a>,
48 <a HREF = "doc/FCGI_SetExitStatus.3">FCGI_SetExitStatus.3</a>,
49 <a HREF = "doc/FCGI_StartFilterData.3">FCGI_StartFilterData.3</a>,
51 <a HREF = "doc/cgi-fcgi.1">cgi-fcgi.1</a> manpages.
52 <li><a HREF = "doc/fcgi-perl.htm">Integrating FastCGI with Perl-5</a>
54 How to build FastCGI support into the Perl-5 interpreter
55 and how to write FastCGI applications in Perl.
56 <li> <a HREF = "doc/fcgi-tcl.htm">Integrating FastCGI with Tcl</a>
58 How to build FastCGI support into the Tcl interpreter
59 and how to write FastCGI applications in Tcl.
60 <li> <a HREF = "doc/fcgi-java.htm">Integrating FastCGI with Java</a>
62 How to build Web server applications in Java using
64 <li><a HREF = "doc/www5-api-workshop.html">FastCGI:
65 A High-Performance Gateway Interface</a> document.<br>
66 Position paper presented at the workshop
67 "Programming the Web -- a search for APIs",
68 Fifth International World Wide Web Conference,
69 6 May 1996, Paris, France. Short paper, addressed to an
70 audience of technical specialists.
71 <li><a HREF = "doc/fcgi-spec.html">FastCGI Specification</a>
73 Defines the interface between a FastCGI
74 application and a Web server that supports FastCGI.
75 This is dry stuff, not needed for writing applications!
77 <li><a HREF = "include">include/</a>
79 .h files for the FastCGI libraries.
80 <li><a HREF = "libfcgi">libfcgi/</a>
82 .c files for the FastCGI libraries.
83 <li><a HREF = "examples">examples/</a>
85 Several example programs. The links below invoke the
86 programs. Use the section that corresponds to the
87 Web server you have configured for FastCGI:
89 <li>Open Market Secure WebServer:
91 <li><a href="/apps/echo"><tt>echo</tt></a>,
92 an example program that returns a page containing all of its
93 inputs -- environment variables and <tt>stdin</tt>. (Source code:
94 <a href="examples/echo.c"><tt>echo.c</tt></a>.)
95 Notice the FastCGI process ID in the initial
96 environment (there are two <tt>echo</tt> processes
97 running). Also notice the request variables
98 that carry ticketing information (<tt>SI_*</tt>);
99 the anonymous ticket has been forced into the URL so you
100 can see it. Alter it if you wish -- see what happens.
101 <li><a href="/apps/echo-protected"><tt>echo</tt></a>,
102 the same program accessed via a URL that is access
103 controlled by a simple Authorizer.
105 <a href="examples/tiny-authorizer.c"><tt>tiny-authorizer.c</tt></a>.)
106 Authenticate with user ID <tt>fastcgi</tt> and
107 password <tt>sano</tt> to gain access. In addition
108 to demonstrating Authorizer-based access control, this
109 application demonstrates Authorizer-controlled session affinity:
111 <a href="/apps/echo-protected?0"><tt>?0</tt></a>
112 to route your request to <tt>echo</tt> process 0,
114 <a href="/apps/echo-protected?1"><tt>?1</tt></a>
115 to route your request to <tt>echo</tt> process 1.
116 <li><a href="/SampleStore/App"><tt>sample-store</tt></a>,
117 a more realistic example. (Source code:
118 <a href="examples/sample-store.c"><tt>sample-store.c</tt></a>.)
119 This shopping cart implementation demonstrates how
120 FastCGI applications can get high performance using
121 in-memory caching yet preserve data across crashes.
122 Request routing is controlled by the anonymous ticket in
123 the URL; if you erase your ticket you'll get a new
124 shopping cart. Using <tt>ps</tt>, locate and kill the
125 two <tt>sample-store</tt> processes; the Web server will
126 restart them and the new processes will recover your
127 shopping cart. The program also illustrates how a
128 single application can play multiple roles.
130 <li>NCSA and Apache servers:
132 <li><a href="examples/echo.fcg"><tt>echo</tt></a>,
133 an example program that returns a page containing all of its
134 inputs -- environment variables and <tt>stdin</tt>. (Source code:
135 <a href="examples/echo.c"><tt>echo.c</tt></a>.)
137 <li>Any Web server, using <tt>cgi-fcgi</tt>:
139 <li><a href="examples/echo.cgi"><tt>echo</tt></a>,
140 an example program that returns a page containing all of its
141 inputs -- environment variables and <tt>stdin</tt>. (Source code:
142 <a href="examples/echo.c"><tt>echo.c</tt></a>.)
145 <li><a HREF = "perl-5">perl-5/</a>
147 Bits for building FastCGI-integrated Perl-5 if you can't
148 use the already-built Perl-5 interpreters from
149 <a href="http://www.fastcgi.com/applibs/perl-5">www.fastcgi.com</a>.
150 <li><a HREF = "tcl">tcl/</a>
152 Bits for building FastCGI-integrated Tcl if you can't
153 use the already-built Tcl interpreters from
154 <a href="http://www.fastcgi.com/applibs/tcl">www.fastcgi.com</a>.
155 <li><a HREF = "java/src">java/src</a>
157 Source code for FastCGI Java classes.
158 <li><a HREF = "cgi-fcgi">cgi-fcgi/</a>
160 .c file for the CGI-to-FastCGI bridge.
165 © 1996, Open Market, Inc.