CGI (Common Gateway Interface) is a tool that adds user interfacing to web sites set up with the HyperText Transfer Protocol (HTTP). CGI allows scripts/programs to be run on a web server that obtain inputs about user actions via environment variables and return information via the standard output device. All standard web servers support CGI.

The Web server must know whether a file referenced in an HTML (Hypertext Meta Language) page is data to be posted or a script/program to be executed. If the file is a script, the server must invoke the proper script interpreter. This is done by a server specific combination of placing scripts in special "cgi-bin" directories and extensions on the scripts such as .pl for PERL. The CGI does not care what scripting language is used. PERL, Python, PHP and Basic are used as are C/C++ and Java programs.

Java is an alternative method of providing user interfacing via code that executes on the user machine rather than on the server. In general, this requires that a Java virtual machine be installed on the user's PC and encounters a plethora of problems if the user's Java Virtual Machine is missing, defective, or an incompatible version. CGI, on the other hand, does the user input processing on the server where configuration issues are under the control of the web page designer.

Return To Index Copyright 1994-2008 by Donald Kenney.