handle NULLs in VFPrintf
[catagits/fcgi2.git] / index.html
CommitLineData
0198fd3c 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>