Definição – O que significa Common Gateway Interface (CGI)?
Common Gateway Interface (CGI), no contexto de desenvolvimento web, é uma interface para rodar executáveis via servidor web. Na maioria das vezes, isso significa pegar uma solicitação HTTP e passá-la para um aplicativo a fim de entregar uma página HTML gerada dinamicamente de volta a um navegador. Embora praticamente qualquer programa que pode ser executado em um servidor da web seja utilizável como um script CGI, Perl é a linguagem mais popular.
O padrão para CGI é definido na RFC 3875.
Definirtec explica Common Gateway Interface (CGI)
Nos primeiros dias do desenvolvimento da web, o CGI era uma das poucas maneiras de fornecer interatividade em um aplicativo da web. Era mais comum no Apache, mas as portas foram feitas para rodar CGI no IIS também.
O uso mais comum de CGI é usar linguagens de script e, portanto, é comum referir-se a isso como execução de um script CGI. Os programas e scripts CGI geralmente são coletados em uma pasta chamada / cgi-bin /.
A principal desvantagem do CGI é que cada carregamento de página incorre em sobrecarga por ter que carregar os programas na memória. Os dados não podem ser facilmente armazenados em cache na memória entre carregamentos de página. Por causa dessa desvantagem, muitos desenvolvedores mudaram para servidores de aplicativos que continuam em execução. No entanto, existe uma enorme base de código existente, grande parte dela em Perl. Os defensores do CGI argumentam que ele é simples, estável e uma boa escolha para certos aplicativos, especialmente envolvendo tarefas em que Perl se destaca, como por exemplo, o manuseio de texto. As soluções alternativas também evitam carregar no tempo de execução Perl ou PHP para cada solicitação, incluindo o tempo de execução no servidor da web (mod_perl e mod_php no Apache) ou outras soluções como FastCGI (processos separados que tratam de várias solicitações).
Esta definição foi escrita no contexto de Desenvolvimento Web