A CGI (Common Gate Interface) é um programa instalado num servidor da WWW que pode ser acessado através de páginas HTML. Além disso, a própria CGI pode gerar código HTML e enviá-lo a um navegador.
Quando você está na web e utiliza um mecanismo de busca, compra um livro, deixa um recado num livro de visitas ou vê um contador de páginas, podes crer… por trás desses serviços está uma CGI (ou uma plataforma semelhante).
Um programa CGI, quando solicitado, manipula dados. Esta manipulação de dados ocorre no servidor web. Os programas CGI podem gravar (salvar) dados no servidor. Por exemplo, seu acesso à uma página com contador ou seu recado no livro de visitas fica gravado no servidor web. Os programas CGI também podem ler dados do servidor e utilizá-los para gerar código HTML. Este código HTML “dinâmico” é transmitido para o navegador que chamou a CGI e apresentado na forma de uma página HTML. Por exemplo, o número de acessos de uma página ou todos os recados de um livro de visitas.
O acesso à CGI é proporcionado por software instalado no servidor web. Geralmente este software de suporte à CGI prevê que os programas CGI estejam instalados num determinado diretório, geralmente denominado cgi-bin. Alguns servidores web permitem que você crie seus próprios diretórios para abrigar seus programas CGI, como também existem servidores que não disponibilizam acessos a CGI… tem de tudo.
Como já foi visto na introdução, não existe uma “linguagem” CGI. Teoricamente, qualquer linguagem de programação pode ser utilizada, porém … e, e aí está o primeiro porém… o programa CGI precisa ser compilado para o sistema do servidor ou o servidor precisa disponibilizar um interpretador em tempo real que execute seu programa. Se, por exemplo, o servidor for UNIX, ele pode executar programas CGI escritos em C que tenham sido compilados utilizando-se um compilador UNIX-C. Se o servidor for um Windows-NT, os programas CGI podem também ser arquivos .EXE gerados por compiladores de 32 bits para C, Pascal, Visual Basic, etc. Atualmente, a maioria dos programas CGI é escrita em Perl ou UNIX-Shell. A linguagem UNIX-Shell é interpretada por todos os servidores UNIX. Para a linguagem Perl ou PHP, o servidor precisa ter um interpretador correspondente instalado (a maioria tem).
|
Situação típica de um mecanismo de busca na web |
No exemplo acima, o usuário pode digitar dados num formulário de uma página HTML para solicitar uma pesquisa num banco de dados. Após enviar o formulário para o servidor web, o programa CGI é chamado. O programa CGI transforma os dados enviados pelo usuário numa solicitação ao banco de dados. O tipo de solicitação depende essencialmente do banco de dados disponível. Existe uma linguagem padrão internacional, chamada SQL, que é utilizada com frequência. O banco de dados envia o resultado da pesquisa para o programa CGI solicitante ou grava o resultado num arquivo que possa ser lido pela CGI. O programa CGI gera então um código HTML, utilizando o resultado da pesquisa como dados para a página HTML. Em seguida, envia o código HTML para o servidor que, por sua vez, o envia para o navegador que fez a solicitação. No monitor do usuário, a página com o formulário de solicitação é substituída pela nova página, gerada dinamicamente pela CGI e que contém o resultado da pesquisa. |