CGI - Common Gateway Interface

Uma CGI, permite interactividade entre um cliente e um servidor de informações (servidor web ou servidor HTTP) através protocolo HTTP (Hyper Text Transfer Protocol). Um documento HTML que o servidor Web entrega é estático, um programa CGI, por outro lado, é executado em tempo real, logo pode apresentar como resultado informação dinâmica - por exemplo: os resultados mais recentes de uma pergunta a uma base de dados.

CGI (Common Gateway Interface), também chamado de script CGI, é um programa que é executado num servidor WWW, em resposta a um pedido de um browser. Geralmente o script é uma interface entre o servidor e outro programa do sistema. Estes programas podem ser tanto scripts como programas compilados.

Funcionamento de uma CGI

Web Gateways são programas ou scripts que recebem pedidos, e retornam um documento com os resultados correspondentes. Esse documento pode existir previamente, ou pode ser gerado pelo script especialmente para responder ao pedido. O servidor pode fornecer informação que não é directamente legível pelo cliente (ex: uma pergunta em SQL), as gateways funcionam como uma interface entre os dois.

Suponhamos por exemplo que temos uma base de dados Oracle que contem estatísticas dos resultados obtidos pelos alunos de mestrado nas disciplinas do 2º semestre e que queremos mostrar esta informação na web. É claro que não podemos enviar o ficheiro da base de dados directamente ao cliente (isto é abrir o URL associado com o ficheiro pois os dados não teriam qualquer significado). Nesta situação a CGI providência uma solução para o problema. Podemos usar uma linguagem como o OraPerl ou uma extensão DBI ao Perl para formular questões em SQL e assim ler a informação contida na base de dados. Depois de ter a informação, podemos formatá-la e enviá-la ao cliente. Neste caso o programa CGI serve como gateway para uma base de dados Oracle.

Em síntese, para que são usados os scripts CGI ?

Estes scripts são programas que tratam pedidos dos clientes (browsers). Estes pedidos são processados e são gerados documentos que são enviados de volta aos clientes. Os browsers, por sua vez, interpretam-nos e apresentam-nos no écran. O servidor HTTP pode fornecer dados que os clientes não conseguem interpretar directamente, uma vez estes scripts CGI servem de gateway entre um cliente e, por exemplo, uma base de dados.

<<< tema anterior                          próximo tema >>>