CGI concepts are not very difficult, but you have to firmly
understand a few aspects of how the client and server work before
you start programming. So I offer a quick introduction in Chapter 1, The Common Gateway Interface (CGI), followed by a discussion of basic protocols in
Chapters Chapter 2, Input to the Common Gateway Interface and Chapter 3, Output from the Common Gateway Interface.
After that, it's off on a whirlwind tour of CGI techniques, with
complete working examples.
Chapter 1, The Common Gateway Interface (CGI),
explains how CGI works and compares the different languages you
can use to write scripts.
Chapter 2, Input to the Common Gateway Interface,
describes the input from Web client to server, which you need to
capture and parse. Query strings and input streams are discussed
here.
Chapter 3, Output from the Common Gateway Interface,
describes the output that a Web server sends to a client. Everything
a CGI programmer needs to know about the HTTP
protocol is here, including error values and HTTP
headers.
Chapter 4, Forms and CGI, introduces
you to HTML forms and to some simple form-based
CGI applications.
Chapter 5, Server Side Includes,
covers some useful, quick services that the server can handle for
you, such as inserting the current date into your document.
Chapter 6, Hypermedia Documents,
shows a variety of ways to incorporate graphics and animation into
CGI output. Among the languages and extensions illustrated are PostScript,
gnuplot, the gd extension
to Perl, and the pgperl plotting library.
Chapter 7, Advanced Form Applications,
shows more complicated examples using the forms interface to CGI.
I show a generalized interface that you can use to let your colleagues
develop their own forms (the quiz application I mentioned earlier).
Chapter 8, Multiple Form Interaction,
shows several approaches to passing information between multiple
CGI programs. I show how to use hidden fields, Netscape's persistent
cookies, and CGI side includes to "maintain state."
Chapter 9, Gateways, Databases, and Search/Index Utilities, shows you how to hook up with existing
programs to extend the power of your own CGI script. I introduce
several ways to use SQL in a CGI program, including interfaces to
Oracle, Sybase, and my own Sprite library.
Chapter 10, Gateways to Internet Information Servers, extends the ideas in
Chapters 7 through 9 to communication over the Internet.
The main example in this chapter is a cookie server that can maintain
state information for multiple CGI programs.
Chapter 11, Advanced and Creative CGI Applications,
includes several advanced examples, particularly a calendar program
that shows you how to generate an imagemap and interpret clicks
on the fly.
Chapter 12, Debugging and Testing CGI Applications,
lists common errors and shows you how to use my CGI Lint tool.
Appendix A, Perl CGI Programming FAQ,
is a Frequently Asked Questions list for Perl CGI.
Appendix B, Summary of Regular Expressions,
lists syntax for regular expressions in Perl.
Appendix C, CGI Modules for Perl 5,
introduces a variety of CGI modules for Perl 5 and shows some examples
of their use.
Appendix D, CGI Lite, introduces
the CGI Lite library of Perl 5.
Appendix E, Applications, Modules, Utilities, and Documentation, lists URLs and print resources
for CGI documentation and software.