PC clients communicating via network with a web server serving static content only.
The official CGI logo from the spec announcement
The inside and front of a Dell PowerEdge server, a computer designed to be mounted in a rack mount environment. It is often used as a web server.
Multiple web servers may be used for a high traffic website.
Web server farm with thousands of web servers used for super-high traffic websites.
ADSL modem running an embedded web server serving dynamic web pages used for modem configuration.
First web proposal (1989) evaluated as "vague but exciting..."
The world's first web server, a NeXT Computer workstation with Ethernet, 1990. The case label reads: "This machine is a server. DO NOT POWER IT DOWN!!"
Sun's Cobalt Qube 3 – a computer server appliance (2002, discontinued)
PC clients connected to a web server via Internet
PC clients communicating via network with a web server serving static and dynamic content.
Directory listing dynamically generated by a web server.
Chart:
Market share of all sites for most popular web servers 2005–2021
Chart:
Market share of all sites for most popular web servers 1995–2005

In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program, typically to process user requests.

- Common Gateway Interface

At the beginning of 1994, the most notable among new web servers was NCSA httpd which ran on a variety of Unix-based OSs and could serve dynamically generated content by implementing the HTTP method and the CGI to communicate with external programs.

- Web server
PC clients communicating via network with a web server serving static content only.

6 related topics with Alpha

Overall

Apache HTTP Server

3 links

The Apache HTTP Server is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0.

CGI support

PHP

2 links

General-purpose scripting language geared toward web development.

General-purpose scripting language geared toward web development.

This is an example of PHP code for the WordPress content management system.
The elePHPant, PHP mascot
A "Hello World" application in PHP 7.4 running on its built-in development server
Example output of the phpinfo function in PHP 7.1
A broad overview of the LAMP software bundle, displayed here together with Squid
Dynamic web page: example of server-side scripting (PHP and MySQL)

PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable.

NCSA HTTPd

1 links

NCSA HTTPd is an early, now discontinued, web server originally developed at the NCSA at the University of Illinois at Urbana–Champaign by Robert McCool and others.

It also introduced the Common Gateway Interface, allowing for the creation of dynamic websites.

FastCGI

1 links

FastCGI is a binary protocol for interfacing interactive programs with a web server.

It is a variation on the earlier Common Gateway Interface (CGI).

Sample form. The form is enclosed in an HTML table for visual layout.

Form (HTML)

1 links

Sent to a server for processing.

Sent to a server for processing.

Sample form. The form is enclosed in an HTML table for visual layout.
Registration form of PHP-based e-commerce web-shop software ZenCart

Perl scripts are traditionally used as Common Gateway Interface applications (CGIs).

CGIs may be written in other languages than Perl (compatibility with multiple languages is a design goal of the CGI protocol) and there are other ways to make Perl scripts interoperate with a web server than using CGI (such as FastCGI, Plack or Apache's mod_perl).

An address bar on Google Chrome showing a URL with the query string.

Query string

0 links

Part of a uniform resource locator that assigns values to specified parameters.

Part of a uniform resource locator that assigns values to specified parameters.

An address bar on Google Chrome showing a URL with the query string.

Also some web servers supporting CGI (e.g., Apache) will process the query string into command line arguments if it does not contain an equals sign, ' ' (as per section 4.4 of CGI 1.1).

If the form is processed on the server by a CGI script, the script may typically receive the query string as an environment variable named.