Jay Eckles
Menu
Tutorials
  -CGI

 

Search

An Introduction to CGI - The Common Gateway Interface

by Jay Eckles

The Common Gateway Interface is a standard interface between external "gateway" applications and information servers such as a web server. In doing so, the gateway program may manipulate and process data and generate output based on the input it is given. It is a means of extending the functionality of the server; it is a means of creating dynamic sites that are generated "on-the-fly." The potential for this type of dynamic document retrieval is obvious: websites can be customized according to user input, external programs such as database management systems can be called to retrieve information and return it to the user, etc. Certainly no one has thought of all the uses to which CGI can and will be put, but here are a few examples:

  • searchable websites
  • online calendars, calculators, planners, guestbooks, notepads, bulletin boards, etc.
  • customized interface based on user-supplied and database-supplied information
  • tracking of individual users throughout a website
  • online business transactions such as ordering, shipping, billing, etc.
  • real time financial, weather, and other rapidly changing data displays

If these examples have you excited about the type of website that you can build by integrating CGI with your existing knowledge and tools, then let's get started.

This introduction does not cover any specific language, library, module, etc. Rather, it is written as CGI was developed: platform and language independent. It is intended to give you a good understanding of how CGI works and how to use it. I encourage you to seek out programming tools like libraries and modules that make writing CGI gateway programs easier, but I will not explain how to use them. You will find this introduction a good companion to the documentation that comes with these tools, allowing you to understand how they work.

[Contents] [Next] [Previous]


If you have any questions or would like to contact me for any reason, please email me at j.eckles@computer.org.