As described in Chapter 3, Output from the Common Gateway Interface, CGI programs
are requested like any other regular documents. The difference is
that instead of returning a static document, the server executes
a program and returns its output. As far as the browser is concerned,
however, it expects to get the same kind of response that it gets
when it requests any document, and it's up to the CGI program to
produce output that the browser is comfortable with.
The most basic output for a CGI program is a simple document
in either plain text or HTML, which the browser displays as it would
any document on the Web. However, there are other things you can
do, such as:
- Return graphics and other binary data
- Tell the browser whether to cache the virtual document
- Send special HTTP status codes to the browser
- Tell the server to send an existing document
Each of these techniques involves knowing a little bit about
returning additional headers from the CGI program.