CGI stands for common gateway interface, and is a standardized method of controlling dynamic content and data on HTTP servers, and databases on those servers. CGI allows forms to be filled out on web pages and data to be entered and updated within a database. A database at its simplest is a machine that answers queries just as servers are machines that answer requests from web browsers. The information held within the form or query on average needs to be processed by an application; CGI can be any number of different programming languages or scripts. These languages supply a consistent method for these actions to be performed.
Essentially, CGI is the portal in which languages like Perl, C, C++ and Java can be used to execute actions and retrieve data. On the web, CGI applications allow the internet browser to communicate with the server, and send and receive data. The common gateway interface calls or tells the applications to execute and perform the designated or programmed request. In the case of a web browser, this means asking for the file located at the URL address in the browser. The CGI then executes the request and returns the file at that location to the browser. Since HTML files are static, they will have applications as part of their coding or mark up to allow for the use of applications for retrieving customer information, images, PDF files located on the server, or any other form of dynamic information for a web page.
A List of Links to Technical Documents About CGI
Simple Tutorial on CGI
CGI Resource Links
Java Home Page
C Programming Library for CGI Applications
Learn CGI Perl
CGI Programming FAQ
Free Perl CGI Scripts
An online Version of the Book "CGI Programming on the World Wide Web"
C++ Library for Linux Users
Open Source C++ CGI Development
File Sharing Program
CGI Development Guide
Resouce Links for CGI Programming
CGI - Perl Tutorials
A Large Site of Webmaster Resources Including Information on CGI, Java, C, and C++
Sun Java forum
CGI and mod_perl
Jave Servlet Programming