CTER
NetHandbooks Glossary
Definitions for teachers by teachers

Common Gateway Interface

A way of interfacing computer programs with HTTP or WWW servers, so that a server can offer interactive sites instead of just static text and images. CGI is a specification for transferring information between a World Wide Web server and a CGI program. A CGI program is any program designed to accept and return data that conforms to the CGI specification. The program could be written in any programming language, including C, Perl, Java, or Visual Basic.

CGI programs are the most common way for Web servers to interact dynamically with users. Many HTML pages that contain forms, for example, use a CGI program to process the form's data once it's submitted. Another increasingly common way to provide dynamic feedback for Web users is to include scripts or programs that run on the user's machine rather than the Web server. These programs can be Java applets, Java scripts, or ActiveX controls. These technologies are known collectively as client side solutions, while the use of CGI is a server side solution because the processing occurs on the Web server.

One problem with CGI is that each time a CGI script is executed, a new process is started. For busy Web sites, this can slow down the server noticeably. A more efficient solution, but one that it is also more difficult to implement, is to use the server's API, such as ISAPI or NSAPI. Another increasingly popular solution is to use Java servlets.

What this means to you: If you plan to create a website that includes some sort of form to obtain feedback from the user, you will need this type of program.

For more information see CGI: The Common Gateway Interface for Server-side Processing.

by Margie Adkins


CGI

(Common Gateway Interface) -- A set of rules that describe how a Web Server communicates with another piece of software on the same machine, and how the other piece of software (the “CGI program”) talks to the web server. Any piece of software can be a CGI program if it handles input and output according to the CGI standard.

Usually a CGI program is a small program that takes data from a web server and does something with it, like putting the content of a form into an e-mail message, or turning the data into a database query.

You can often see that a CGI program is being used by seeing “cgi-bin” in a URL, but not always.

by Brian Weinert


NetHandbook Glossary | NetHandbook Home page


Last updated: 31 July 2000