CGI - Common Gateway Interface

CGI is the interface between a server (A WWW server is a program that web browsers such as Mosaic and Netscape can obtain hypertext from. It must run on a computer attached to the Internet) and the other resources of the server's host computer.

Client Process :

The client is a process (program) that sends a message to a server process (program), requesting that the server perform a task (service). Client programs usually manage the user-interface portion of the application, validate data entered by the user, dispatch requests to server programs, and sometimes execute business logic. The client-based process is the front- end of the application that the user sees and interacts with. The client process contains solution-specific logic and provides the interface between the user and the rest of the application system. The client process also manages the local resources that the user interacts with such as the monitor, keyboard, workstation CPU and peripherals. One of the key elements of a client workstation is the graphical user interface (GUI). Normally a part of operating system i.e. the window manager detects user actions, manages the windows on the display and displays the data in the windows.

Server Process

A server process (program) fulfills the client request by performing the task requested. Server programs generally receive requests from client programs, execute database retrieval and updates, manage data integrity and dispatch responses to client requests. Sometimes server programs execute common or complex business logic. The server-based process "may" run on another machine on the network. This server could be the host operating system or network file server; the server is then provided both file system services and application services. Or in some cases, another desktop machine provides the application services. The server process acts as a software engine that manages shared resources such as databases, printers, communication links, or high powered-processors. The server process performs the back-end tasks that are common to similar applications. Some of these programs understand the Hypertext Transfer Protocol, and they receive requests for information in a given Uniform Resource Locator, find that information on their local disk drives and then return it to the browser. Other programs called "gateway" programs convert a different information format to hypertext and then return it to the browser. Other non-HTTP servers such as FTP or gopher servers can also be accessed by WWW browsers. In order to make your information available via World Wide Web, you must either start your own server or "piggyback" your documents on an existing server.
Perl Tutorial
Java Tutorial
C++ Tutorial