0. What is cgihtml?

[ Next | Up to Table of Contents | ]

cgihtml is a collection of routines for parsing World Wide Web (WWW) Common Gateway Interface (CGI) input and outputting HyperText Markup Language (HTML).


0.1. What are the advantages of cgihtml?

cgihtml simplifies the task of parsing CGI input and producing HTML output. Tasks which would normally require several lines of C can be reduced to just a few.

Additionally, I have attempted to include general routines which CGI programmers often find themselves using. Consequently, some of the complexities of CGI programming are hidden. On the other hand, if you want to know what's going on, source is included.


0.2. Why C?

The purpose of CGI programs is to take data and manipulate it as the web programmer desires. Since CGI programs are often dealing with text manipulation, Perl or other scripting languages is an ideal way of producing CGI scripts. (I highly recommend
Steve Brenner's cgi-lib.pl package for Perl programmers interested in producing CGI scripts).

However, interpreted scripting languages tend to be relatively large. This rarely has a major effect on the performance of your server (unless you are a high-traffic site). However, if this is a concern of your's, a program written in C is often several times smaller than the equivalent program written in Perl. There's definitely a performance improvement when using CGI programs written in C, although the performance is not likely to be noticeable.

Additionally, some servers (notably Netsite and Apache) have APIs so that CGI programs can be written as extensions to the server, rather than as separate programs. This greatly improves performance, especially on high-traffic sites. The best way to take advantage of these APIs is to write your programs in C.

Or, you might fall under one of the following categories:

In which case, you will hopefully find cgihtml useful.


0.3. Changes from version 1.0


0.4. Files included in this package

The following files are included in this package:

   README            - Read this first
   CHANGES           - version revision information
   TODO              - Things I want to eventually implement
   docs/             - Documentation directory
   debug-cgi.sh      - Shell script to help debug CGI code

   cgi-lib.c         - Source code
   html-lib.c
   llist.c
   string-lib.c

   cgi-lib.h         - Header files for routines
   html-lib.h
   llist.h
   string-lib.h

   query-results.c   - Example programs
   mail.cgi.c
   index-sample.cgi.c
   nph-ignore.cgi.c

[
Next | Up to Table of Contents | ]
eekim@fas.harvard.edu
Last modified: Sun Aug 13 16:23:58 1995