FACTOID # 69: Almost the entire Cook Islands are covered by forest.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Common Gateway Interface

The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server. This allows the server to pass requests from a client web browser to the external application. The web server can then return the output from the application to the web browser. “Standard” redirects here. ... For other senses of this word, see protocol. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... In information technology, a server is an application or device that performs services for connected clients as part of a client-server architecture. ... The inside/front of a Dell PowerEdge web server The term Web server can mean one of two things: A computer program that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are... In computing, a client is a system that accesses a (remote) service on another computer by some kind of network. ... An example of a Web browser (Mozilla Firefox) A web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network. ...

Contents

History

CGI arose out of discussions on the www-talk mailing list between Rob McCool, John Franks, Ari Luotonen, George Phillips and Tony Sanders in 1993. Rob McCool, working at NCSA, drafted the initial specification and provided a reference implementation in the NCSA HTTPd web server using environment variables to store parameters passed from the web server execution environment before spawning the CGI program as a separate process. Robert M. McCool (born 1973), more commonly known as Rob McCool, is a software developer and architect. ... National Center for Supercomputing Applications NCSA Building, 1205 W. Clark St. ... The NCSA HTTPd was a web server originally developed at the NCSA by Robert McCool and a list of others. ... Environment variables are a set of dynamic values that can affect the way running processes will behave on a computer. ... In computing, a process is, roughly speaking, a task being run by a computer, often simultaneously with many other tasks. ...


Example

An example of a CGI program is the one implementing a wiki. The user agent requests the name of an entry; the server will retrieve the source of that entry's page (if one exists), transform it into HTML, and send the result back to the browser or prompt the user to create it. All wiki operations are managed by this one program. Look up Wiki in Wiktionary, the free dictionary. ... HTML, an initialism of Hypertext Markup Language, is the predominant markup language for web pages. ...


Implementation

The way CGI works from the Web server's point of view is that certain locations (e.g. http://www.example.com/wiki.cgi) are defined to be served by a CGI program. Whenever a request to a matching URL is received, the corresponding program is called, with any data that the client sent as input. Output from the program is collected by the Web server, augmented with appropriate headers, and sent back to the client. “URL” redirects here. ...


Because this technology generally requires a fresh copy of the program to be executed for every CGI request, the workload could quickly overwhelm web servers, inspiring more efficient technologies such as mod_perl or PHP that allow script interpreters to be integrated directly into web servers as modules, thus avoiding the overhead of repeatedly loading and initializing language interpreters. However, this is only applicable for high-level languages that need interpreters. Such overloads can be avoided by utilizing languages like C. By using C or similar compiled languages it is possible to reach higher efficiency levels, because such programs terminate their execution cycle faster than interpreted languages with less operating system overhead. Even better, RPG programs on the IBM iSeries/AS400 may stay resident in memory with databases already open, allowing for faster execution on subsequent usage. The optimal configuration for any web application will obviously depend on application-specific details, amount of traffic, and complexity of the transaction; a software engineer analyzes these tradeoffs to determine the best implementation for a given task and budget. mod_perl is an optional module for the Apache web server. ... For other uses, see PHP (disambiguation). ... A high-level programming language is a programming language that is more user-friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... RPG is a programming language for business applications. ... Software engineering (SE) is the profession concerned with specifying, designing, developing and maintaining software applications by applying technologies and practices from computer science, project management, and other fields. ...


Web servers often have a cgi-bin directory at the base of the domain, to hold executable files.


References

See also

FastCGI is a protocol for interfacing interactive programs with a web server. ... qDecoder is a Web Application Interface C/C++ library giving transparent access to GET/POST/FILE/COOKIE values, Session handling, Config file parsing, and various connection, string, search, SED, AWK and file handling functions. ... Simple Common Gateway Interface (SCGI) protocol is a replacement for the CGI protocol. ...

External links


  Results from FactBites:
 
Common Gateway Interface - Wikipedia, the free encyclopedia (563 words)
The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server.
This allows the server to pass requests from a client web browser to the external application.
The SCGI protocol is a replacement for the Common Gateway Interface (CGI) protocol.
WDVL: CGI: The Common Gateway Interface for Server-side Processing (856 words)
Gateways are programs which handle information requests and return the appropriate document or generate a document on the fly.
Gateways can be used for a variety of purposes, the most common being the handling of FORM requests for HTTP.
An HTTP server is often used as a gateway to a legacy information system; for example, an existing body of documents or an existing database application.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.