Um script CGI ( Common Gateway Interface ) é um programa executado pelo servidor web, para enviar ao navegador do usuário, um código HTML criado, automaticamente, pelo servidor (baseado em outro aplicativo como, por exemplo, um sistema de gerenciamento de banco de dados, daí o nome gateway ) .
Uma das principais vantagens do uso do CGI é a possibilidade de criar páginas dinâmicas, ou seja, páginas personalizadas conforme a escolha ou a entrada do usuário. A aplicação mais comum desta técnica é baseada no uso dos formulários HTML, que permitem ao usuário selecionar ou inserir dados e, clicar em um botão de submissão do formulário, enviando depois os dados do formulário como um parâmetro do script CGI.
Um programa CGI pode ser escrito em quase todas as linguagens de programação desde que ele seja:
As linguagens de programação mais utilizadas para a escrita dos CGI são as seguintes:
Quando um pedido é enviado ao servidor, este examina a extensão do arquivo solicitado para determinar as medidas que irá executar. Por exemplo:
Assim, o papel de um script CGI é receber os dados enviados pelo servidor, processá-los e, então, retornar cabeçalhos de respostas e tags HTML válidos. Na verdade, quando um programa CGI retorna um arquivo, primeiro ele deve enviar um cabeçalho HTTP para especificar o tipo de conteúdo enviado ao navegador (chamado tipo MIME -Extensões Multi função para Mensagens de Internet), quer dizer:
content-type : text/html
content-type : image/gif
content-type : text/quicktime