Automação de sites Confusão Garantida na Internet CGI está no top ten dos jargões da Web, mas muitos não sabem o que é André Cardozo, do TCInet A cena é comum em qualquer produtora Web. Cedo ou tarde, alguém dá um grito "Quem conhece um CGI para redirecionamento?", ou então "E aí, já acabou o CGI?", ou ainda "O CGI não funciona" (esse é freqüente). Mas afinal, quem é essa figura misteriosa chamada CGI? Em linhas gerais, pode-se dizer que CGI (Common Gateway Interface) é um padrão de comunicação entre o servidor Web e uma aplicação externa. Ele faz parte das especificações do HTTP (Hypertext Transfer Protocol), criado por Tim Berners-Lee e atualmente gerenciado pelo W3C. Meio vago? Então vamos a uma explicação mais detalhada. O fim da monotonia - Páginas HTML são, por natureza, estáticas. Ou seja, quando o usuário clica num link qualquer, o servidor Web apenas recebe o pedido daquela página e a entrega para o cliente, o browser. Simples e rápido. Possíveis scripts escritos em JavaScript são normalmente inseridos diretamente no código (client-side) e executados pelo browser, sem a interferência do servidor Web. No caso de páginas dinâmicas (com execução no servidor), precisa-se da ajuda de um aplicativo externo, que recebe as informações, faz "alguma coisa" e devolve uma página HTML com a formatação desejada. Todo este processo de recebimento e envio de dados é feito dentro das especificações do CGI. No dia-a-dia, entretanto, costuma-se chamar de CGI qualquer programa instalado no servidor Web, independentemente da linguagem utilizada. A Microsoft e a Netscape desenvolveram outros padrões de comunicação entre seus servidores e aplicações externas, respectivamente o ISAPI e o NSAPI, mas estes funcionam apenas nos servidores destas empresas. Perl, a mais popular - Os formulários são o caso mais comum de implementação do CGI. O internauta preenche todos os campos e, ao clicar no botão "Enviar", os dados são enviados para um programa que recebe as informações e pode gravá-las num banco de dados, enviar um e-mail de confirmação, e assim por diante. Outras possibilidades de uso de programas CGI são chat, webmail, cartões virtuais e carrinho de compras (em sites de e-commerce). Na maioria dos casos, este programa (também chamado de script), é feito em Perl, mas outras linguagens, como C, Visual Basic ou TCL, também podem ser utilizadas, desde que suportadas pelo sistema operacional. A preferência pelo Perl acontece devido a alguns aspectos: linguagem é gratuita; scripts em Perl necessitam de pouca (ou nenhuma) modificação quando passados de Unix para NT ou vice-versa;
linguagem é extensível e possui "módulos" desenvolvidos para diversas situações, que podem ser baixados da Rede. Normalmente, os programas CGI ficam num diretório próprio (cgi-bin), mas isto varia de servidor para servidor. Um fato importante é que os scripts envolvem processamento de informação, ao contário dos arquivos HTML. Portanto, todo o cuidado é bem-vindo na hora de implementá-los, pois eles consomem muito mais recursos do hardware do que páginas HTML comuns.