HTML is a markup language
A request to run a CGI program is like any other HTTP request
except that the requested file can be identified by the server as being a CGI program
Identifying CGI by their address on the server or by their filename extensions
When a server receives a request for a CGI, it does not return the file, it executes it
The results of a CGI program execution can take many different forms
It could produce just the URL of an existing document
Most often an HTML document is returned
Common for users to interact with the server through forms
The browser presents a form to the user
The user is asked to fill in the boxes and to click the buttons of the form
The user submits the filled-in form by clicking the submit button on the form
The content of the form are encoded and transmitted to the server
The server must use a program to:
Both CGI programs and client-side scripts support dynamic documents
Client-side scripts cannot access files and databases on the server