Remove some debugging code and clean up some gcc warnings in cgi-fcgi.c.
[catagits/fcgi2.git] / index.html
1 <html>
2 <head>
3 <title>FastCGI Developer's Kit Index Page</title>
4 </head>
5
6 <body>
7 <center>
8 <h2>FastCGI Developer's Kit Index Page</h2>
9 </center>
10
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 $ -->
15
16 <ul>
17     <li><a HREF = "doc">doc/</a>
18         directory.
19     <ul>
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>
30             document.<br>
31             <ul>
32                 <li>Describes how to configure and build the
33                     kit for your development platform.
34                 <li>Tells how to write applications using the
35                     libraries in the kit.
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.
39             </ul>
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>,
50                  and
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>
53              document.<br>
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>
57              document.<br>
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>
61              document.<br>
62              How to build Web server applications in Java using
63              FastCGI.
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>
72             document.<br>
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!
76      </ul>
77     <li><a HREF = "include">include/</a>
78         directory.<br>
79         .h files for the FastCGI libraries.
80     <li><a HREF = "libfcgi">libfcgi/</a>
81         directory.<br>
82         .c files for the FastCGI libraries.
83     <li><a HREF = "examples">examples/</a>
84         directory.<br>
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:
88         <ul>
89           <li>Open Market Secure WebServer:
90           <ul>
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.
104               (Source code:
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:
110               Use the query string
111               <a href="/apps/echo-protected?0"><tt>?0</tt></a>
112               to route your request to <tt>echo</tt> process 0,
113               and the query string
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.
129           </ul>
130           <li>NCSA and Apache servers:
131           <ul>
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>.)
136           </ul>
137            <li>Any Web server, using <tt>cgi-fcgi</tt>:
138           <ul>
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>.)
143           </ul>
144         </ul>
145     <li><a HREF = "perl-5">perl-5/</a>
146         directory.<br>
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>
151         directory.<br>
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>
156         directory.<br>
157         Source code for FastCGI Java classes.
158     <li><a HREF = "cgi-fcgi">cgi-fcgi/</a>
159         directory.<br>
160         .c file for the CGI-to-FastCGI bridge.
161 </ul>
162
163 <hr>
164 <address>
165 &#169 1996, Open Market, Inc.
166 </address>
167
168 </body>
169 </html>