Common Gateway Interface (CGI)

The Common Gateway Interface (CGI) provides the middleware between WWW servers and external databases and information sources. The World Wide Web Consortium (W3C) defined the Common Gateway Interface (CGI) and also defining how a program interacts with a Hyper Text Transfer Protocol (HTTP) server. The Web server typically passes the form information to a small application program that processes the data and may send back a confirmation message. This process or convention for passing data back and forth between the server and the application is called the common gateway interface (CGI).

Feature of CGI:

  • It is a very well define and supported standard.
  • CGI scripts is generally written in either Perl, C, or maybe just a simple shell script.
  • CGI is a technology that interfaces with HTML.
  • CGI is the best method to creation a counter because it is currently the quickest
  • CGI standard is generally the most compatible with today’s browsers

Advantage of CGI:

  • The advanced tasks are currently a lot easier to perform is CGI than is Java.
  • CGI is always easier to use code already written than it is to write your own.
  • CGI specification that the programs can be written in any language, and on any platform, as long as they conform to the specification.
  • CGI-based counters and CGI code to perform simple tasks are available in plenty.

Disadvantage of CGI:
There are some disadvantage og CGI which are given below:

  • In Common Gateway Interface each page load incurs overhead by having to load the programs into memory.
  • Generally, data cannot easily be cached in memory between page loads.
  • There is a huge existing code base, much of it in Perl.
  • CGI uses up a lot of processing time

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.