home *** CD-ROM | disk | FTP | other *** search
- <!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
-
- <HTML>
-
- <HEAD>
- <TITLE>Introduction to the Common Gateway Interface</TITLE>
- <META NAME="GENERATOR" CONTENT="Vermeer FrontPage 1.0">
- </HEAD>
-
- <BODY>
- <H1>Introduction to the CGI</H1>
- <P><I>Taken from the Unix CGI documentation at NCSA. This is somewhat outdated, and applies ONLY to the DOS type
- CGI interface of Windows httpd.</I> </P>
- <HR>
- <H2>What is it?</H2>
- <P>The Common Gateway Interface, or CGI, is an interface for running external programs, or gateways, under an information
- server. Currently, the supported information servers are HTTP servers. </P>
- <P></P>
- <HR>
- <H2>What's a gateway used for?</H2>
- <P>What we refer to as gateways are really programs which handle information requests and return the appropriate document
- or generate a document on the fly. With CGI, your server can serve information which is not in a form readable by the client
- (such as an SQL database), and act as a gateway between the two to produce something which clients can use. </P>
- <P>Gateways can be used for a variety of purposes, the most common being the handling of ISINDEX and FORM requests
- for HTTP. </P>
- <P>Some examples of the uses of CGI on Unix hosts: </P>
- <P></P>
- <UL>
- <LI>Converting your system's manual pages into HTML on the fly and sending the HTML result to the client. </LI>
- <LI>Interfacing with WAIS and archie databases, converting the results to HTML and sending the result to the client. </LI>
- <LI>Allowing user feedback about your server through an HTML form and an accompanying CGI decoder. </LI>
- </UL>
- <HR>
- <H2>What exactly are gateway programs?</H2>
- <P>Gateway programs, or scripts, are executable programs which can be run by themselves (but you wouldn't want to). They
- have been made external programs in order to allow them to run under various (possibly very different) information servers
- interchangably. </P>
- <P></P>
- <HR>
- <H2>What language can I write these gateways in?</H2>
- <P>Gateways conforming to this specification can be written in any language which produces an executable file (including shell
- scripts). Some of the more popular languages to use include: </P>
- <P></P>
- <UL>
- <LI>C/C++ </LI>
- <LI>PERL </LI>
- <LI>TCL </LI>
- <LI>The Bourne Shell </LI>
- <LI>The C Shell </LI>
- <LI>The DOS command interpreter or 3rd-party enhanced interpreters such as Norton NDOS </LI>
- </UL>
- <P>There are many others. </P>
- <P></P>
- <HR>
- <H2>Who came up with it?</H2>
- <P>The specification was discussed between the main HTTP server authors. Credits go to: </P>
- <P></P>
- <UL>
- <LI>Tony Sanders <EM>sanders@bsdi.com</EM> </LI>
- <LI>Ari Luotonen <EM>luotonen@ptsun00.cern.ch</EM> </LI>
- <LI>George Phillips <EM>phillips@cs.ubc.ca</EM> </LI>
- <LI>John Franks <EM>john@math.nwu.edu</EM> </LI>
- </UL>
- <P>as well as countless others. </P>
- <P><A HREF="overview.htm"><IMG SRC="../../images/back.gif" ALIGN=bottom BORDER=2 WIDTH=40 HEIGHT=40> Return to the overview</A> </P>
- <P></P>
- <HR>
- <P>Copyright (C) 1995 Vermeer Technologies, Inc. All rights reserved. </P>
- </BODY>
-
- </HTML>
-