Common Gateway Interface (CGI) is a method for Web servers to process and run executable scripts, or programs, and generate dynamic content for display in a user’s Web browser.
What It Is
CGI was designed as a way to allow a Web browser to run an executable script. Under normal circumstances, when a Web browser requests a webpage or file, the HTTP server hosting the website simply serves up the requested file for the Web browser to display or download. There are circumstances, however, when displaying or downloading a file is not the desired outcome.
For example, when filling out and submitting a form the goal is to have the contents of the form emailed to the website operator while providing the user confirmation that the form was submitted successfully. Neither operator or user would be served by the form being downloaded to the user’s computer.
This is where CGI comes into play. A site admin can specify a folder to contain all executable scripts. On many hosts, this folder is “cgi-bin.” When a Web browser requests a URL that points to one of these scripts, the HTTP server runs the script and returns the results, rather than simply serving up the script itself as it would an ordinary webpage.
As previously mentioned, a common use of CGI scripts is to submit form data. CGI scripts can be configured to collect the data, save it in a database, email it to the website operator and display an acknowledgment to the individual submitting the form.
CGI scripts can also be used in any number of additional scenarios, including signing a guestbook, submitting a query and submitting a form that returns a value, such as a translation form.