The server acts as an application gateway. It receives the request
from the client, selects a CGI script to handle the request, converts
the client request to a CGI request, executes the script and converts
the CGI response into a response for the client. When processing the
client request, it is responsible for implementing any protocol or
transport level authentication and security. The server MAY also
function in a ‘non-transparent’ manner, modifying the request or
response in order to provide some additional service, such as media
type transformation or protocol reduction.