(
Each chapter ends with a Conclusion.)
Acknowledgments. 1. World Wide Web Documents. The Universe of Web Documents.
References.
2. The CGI Standard. The Need for a Standard.
The Goals of CGI.
CGI and the HyperText Transfer Protocol.
CGI Environment Variables.
CGI Standard Output.
CGI Standard Input.
References.
3. Obtaining CGI Access. Purchasing CGI Access on a Commercial Server.
Common Rules for Installing CGI Programs.
Creating Your Own Internet Site.
Configuring Web Servers to Recognize CGI Programs.
References.
4. Some Simple CGI Examples. Hello: Sending HTML to the Browser.
Leveraging Existing Programs: cuptime.
5. Virtual Directory Spaces: Taking Advantage of PATH_INFO. What Are Environment Variables?
Using PATH_INFO: Creating a Virtual Document Space.
The World Birthday Web, Part I: Browsing Birthdays.
When PATH_INFO Isn't Enough.
References.
6. Identifying the User: More CGI Environment Variables. More Environment Variables.
REMOTE_IDENT: The Pitfalls of User Identification.
AUTH_TYPE and REMOTE_USER: Identifying the User on Your Own Terms.
Applications of REMOTE_USER.
References.
7. Handling User Input: Interacting with Forms. Creating Forms.
Processing Form Input.
Accepting Comments.
Existing Comment-form and Guestbook Packages.
References.
8. Using cgic and cgi-lib: Complete CGI Solutions. The cgic Library: A Better API for CGI.
The World Birthday Web, Part II: Using cgic.
cgi-lib: Simplifying CGI for Perl Programmers.
The World Birthday Web, Part III: Using cgi-lib.
9. Sending E-mail from CGI Programs. Alternatives to Using CGI.
Security Risks of Sending E-mail with /bin/mail.
Sending E-mail with sendmail.
Identifying the Sender: How Much Can Be Done?
A Complete E-mail Form: Accepting Bug Reports.
Existing CGI E-mail Packages.
References.
10. Multimedia: Generating Images in Dynamic Documents. Pointing to Existing Images in a CGI-generated HTML Page.
Generating Dynamic Images: Mime Types and Multimedia.
A CGI Program That Delivers an Image Instead of HTML.
Off-the-shelf Ways to Generate Images.
Using the gd Graphics Library.
Drawing Graphs on the Fly.
References.
11. Advanced Forms: Using All the Gadgets. New Tricks with Text Elements.
A Complete Example.
12. Advanced CGI and HTML Features. A Problem: Sending Updated Information to the User.
Client Pull: Web Pages That Update Themselves.
Server Push: Pushing the Limitations.
Making Decisions Based on Browser Type.
Implementing Imagemaps.
Redirection: Forwarding Requests to Another URL.
Using capture: Debugging CGI Programs in Real Debuggers.
References.
13. The Solar System Simulator: Pushing the Limitations of CGI. Is CGI the Right Way to Do This?
Designing the SSS: Overcoming CGI Limitations.
Perl Notes.
The SSS in C: nph-sss.c.
The SSS in Perl: nph-sss.
14. World Wide Web Wall Street: An Advanced CGI Application. The Security Problem.
The Design of WWWWS.
Simulating Stock Prices in C: simtrade.c.
Simulating Stock Prices in Perl: simtrade.
Installing and Using simtrade.
The trade Program: Interacting with the User.
15. What's Next: CGI and Beyond. For Some Tasks, CGI is Overkill.
Improved APIs: Faster Replacements for CGI.
The Fundamental Limitation of CGI.
Addressing CGI Limitations: Web Browser Programming Tools.
Why CGI Isn't Going Away Any Time Soon.
References.
Appendix 1. CGI Environment Variables. Appendix 2. Internet Media Content Types. Appendix 3. cgic Reference Manual. Appendix 4. gd Reference Manual.