02 July 2006

Common Gateway Interface (CGI)

The article is not related to computer graphics

This is a type of open standard* for web-based applications created in 1993. CGI applications may be written in several different languages, although the great majority are written in Perl or PHP. Indirectly, the most famous CGI is probably MediaWiki, the WikiEngine used to create Wikipedia. Another very popular CGI application is Movable Type, a stand-alone blogging engine. CGI applications are also used for e-commerce and digital news media, such as newspaper websites.

CGI applications are programs designed to be accessible from any platform. Unlike Java applications, however, they don't run from the web browser; they run from the web host. CGI applications accept input from users and use that to generate new webpages, such as archive pages on a weblog, or entries in a wiki. These are examples of content management softwares (CMS); Flickr.com is another example of a CMS implementation [*].

For the purposes of this article, a "user" is either the webmaster or someone authorized by the webmaster to manipulate the website's contents. For example, if the application is Movable Type, then the user is the one who logs in and posts articles. I use the term "visitor" to refer to people who don't have any special authorization, such as the usual readers and viewers of the page. In the case of wikis, any visitor may become a user by registering and logging in. An application is the program that generates web pages for the site; so, for example, an installation of the application Movable Type would be used to maintain one or more blogs. A user can access the application from any web browser, but the application resides on the server where the website is hosted. Like a queen ant or queen bee, the application remains eternally in its CGI bin (a folder on the webserver), spawning pages. When users update them with fresh information, the CGI application overwrites them.

CGI applications are also used for e-commerce because of their ability to interact with forms filled out by visitors. Database management is an integral part of the CGI standard, and it's immanently compatible with the entire concept of a server-based application. MediaWiki is an example of a CGI application that stores its contents in tables, and generates
*standard: more specifically, this is an application programming interface (API).
SOURCES: "The Common Gateway Interface," National Center for Supercomputing Applications (NCSA)--not especially helpful, actually; "An Introduction to The Common Gateway Interface," University of Toronto; Wikipedia entry;

Labels: , , , ,


Post a Comment

<< Home