|
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. ...
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 |