CGI - What is That?
Let's unlock a little
bit of the mystery about something called CGI. If it helps, CGI
means Common Gateway Interface . This is a method
which is used to exchange data between the server (the hardware
and software that actually allows you to get to your web site)
and a web client (your browser). CGI is actually a set of standards
where a program or script (a series of commands) can send data
back to the web server where it can be processed.
Typically, you use standard HTML tags to get data from a person,
then pass that data to a CGI routine. The CGI routine then performs
some action with the data.
Some of the more common uses of CGI include:
- Guestbooks - The CGI routine is responsible
for accepting the data, ensuring it is valid, sending an email
acknowledgement back to the writer, perhaps sending an email
to the webmaster, and creating the guestbook entry itself.
- Email Forms - A simple CGI form routine just
formats the data into an email and sends it back to the webmaster.
More complicated routines can maintain a database, send an acknowledgement
and validate data.
- Mailing List Maintenance - These routines
allow visitors to subscribe and unsubscribe from a mailing list.
In this case, the CGI routine maintains a database of email addresses,
and the better ones send acknowledgements back to the visitor
and webmaster.
A CGI routine can be anything which understands the CGI standard.
A popular CGI language is called PERL , which
is simple to understand and use (well, compared to other languages).
PERL is a scripting language, which means each time a PERL routine
is executed the web server must examine the PERL commands to determine
what to do. In contrast, a compiled language such as C++ or Visual
Basic can be directly executed, which is faster and more efficient.
Okay, in a nutshell (and greatly simplified), here's how it works:
- You (the webmaster) specify a form tag which includes the name
of the CGI routine.
- You create HTML tags which retrieve data from your visitors.
- Each of the input tags includes a variable
name. The data which is retrieved from the visitor (or directly
set if the tag includes the "hidden" qualifier) is placed in
the variable name.
- When the visitor presses the "submit" button, the CGI routine
which was specified in the form tag is executed. At this time,
the CGI routine "takes control", meaning the browser essentially
is waiting for it to complete.
- This CGI routine can get data from variable names. It retrieves
the data and does whatever action is required.
- When the CGI routine finishes, it returns control back to the
web client (the browser).
Some important things to remember about CGI routines:
- You can install CGI routines on your own site if your host
allows it. Some web hosts do not allow you to install your own
routines but do provide some pre-written ones to you. If these
are not sufficient for your needs, you can find a remote hosting
service to provide the necessary functions.
- Generally, if you install your own routines they must be installed
in the cgi-bin directory of your site. This is a special location
which allows scripts and programs to be executed.
- CGI routines work best on Apache-style servers. Windows NT
and Windows 2000 do support CGI, but tend to be slow and problematic.
- If you use a remote hosting service, you must remember that
although they appear to be giving you this for free, you are
actually paying a price. Usually they want to display advertisements,
although some of them actually take visitors away from your site.
- When you write a CGI routine, you have the choice of a scripting
language like PERL or a compiled language such as C++ or Visual
Basic. Anything which can execute on the web server is acceptable.
I hope this short introduction to CGI has cleared up some of the
mystery.
About The Author
Suzanne Fyhrie owns and operates OneWay Advertising and Design. She specializes
in marketing and graphic design.
|