O que é CGI
CGI (Common Gateway Interface) é o método usado para permitir a interação entre o servidor WWW e outros programas executados no sistema.
Foi desenvolvido originalmente para servidores WWW CERN e NCSA, para a plataforma UNIX.
Como funcionam
Formatando a saída do CGI
A saída de um CGI tem basicamente 2 partes:
- cabeçalho de saída
- dados de saída
Cabeçalho de Saída
O cabeçalho não é visível ao usuário e serve para passar informações sobre saída, tanto ao servidor quanto ao cliente WWW.
Temos 3 tipos de cabeçalhos:
Obs: Após o cabeçalho deve-se enviar uma linha em branco, para sinalizar ao servidor o fim do cabeçalho.
Dados de Saída
Esta é a parte que realmente será enviada ao cliente WWW. O conteúdo da saída deve estar correlacionado com o tipo de conteúdo (Content-type) informado no cabeçalho.
Observações Importantes
- Os programas CGI devem ter as permissões de leitura e execução setadas
para todos, e a permissão de escrita apenas para o proprietário do arquivo. Isto é importante pois caso contrrário o servidor WWW não será capaz
de executar ou ler o arquivo cgi.
chmod 755 arq.cgi
- A chamada do arquivo cgi não pode ser feita localmente pelo cliente WWW, pois neste
caso o servidor não enxergaria a chamada. Portanto quando se fizer a referência ao
cgi dentro do documento html, deve-se informar a URL absoluta do arquivo cgi. (Ex: http://penta.ufrgs.br/edu/forms/tutorial.cgi )
Criando um CGI para tratar dados de um formulário