Define: Common Gateway Interface

often notated as CGI, describes a standard method used by web server software to generate web content into executable files. The common gateway interface connects functions on a webpage with the web server’s back end that is running the program or site. CGIs are often stand-alone applications and are not highly integrated with other functions on a website or a web server. One distinguishing characteristic is that connections are written in scripting languages. These languages include: Perl, C, C++, Tcl and UNIX shell scripts.

The most notable examples of CGIs will be web documents that depend on user interactions. Scripts can be used to take users to new pages on the site, create specific pages for users based on their information, and to generate pages based on database information. One simple example of a CGI is a form on a website. Visitors can enter their name and email address into the form. Based on the information entered, the CGI can direct the user to a page for opt-in email newsletter subscriptions or to a confirmation page that displays their information for verification. In this example, the CGI can also add the information to a database or email list, send data to the administrator as an email message, or respond to the form entry with an email to the site user.

There are several advantages to using common gateway interfaces over JavaScript forms. With CGI, all readers are able to use the application because this method is supported by all web browsers and, unlike JavaScript, cannot be blocked by firewalls. This means that users attempting to give information while in a secured network, like a workplace, will be able to access and interact with data collection forms. The only drawback is that CGIs are more taxing on a web server than JavaScript.