Common
Gateway Interface
http://hoohoo.ncsa.uiuc.edu/cgi/
The
Common Gateway Interface (CGI) is a standard for interfacing external
applications with information servers, such as HTTP or Web servers. A plain
HTML document that the Web daemon retrieves is static, which
means it exists in a constant state: a text file that doesn't change. A CGI
program, on the other hand, is executed in real-time, so that it can
output dynamic information.
For example, let's say
that you wanted to "hook up" your Unix
database to the World Wide Web, to allow people from all over the world to
query it. Basically, you need to create a CGI program that the Web daemon will
execute to transmit information to the database engine, and receive the results
back again and display them to the client. This is an example of a gateway,
and this is where CGI got its origins.
The database example is a
simple idea, but most of the time rather difficult to implement. There really
is no limit as to what you can hook up to the Web. The only thing you need to
remember is that whatever your CGI program does, it should not take too long to
process. Otherwise, the user will just be staring at their browser waiting for
something to happen.