1.0. Funções do programa CGI:
Primeiro, o que é Common Gateway Interface (CGI)? CGI é um padrão usado para definir métodos de comunicação entre servidores WEB e programas externos, para que programas externos possam gerar HTML, imagens ou outro conteúdo, e o servidor lide com HTML, imagens ou outro conteúdo que não seja gerado por programas externos. é o mesmo. Portanto, os programas CGI permitem gerar não apenas conteúdo estático, mas também conteúdo dinâmico. A razão para usar CGI é que ele é um padrão bem definido e amplamente suportado. Embora Java, ActiveX, etc. possam completar as funções dos programas CGI, nem todos os navegadores os suportam. Pelo contrário, todos os navegadores suportam CGI, tais como: Lynx, IE, Netscape, etc.
Contudo, como outras tecnologias, o CGI tem suas limitações. Nesta seção, descreverei as funções, vantagens e desvantagens dos programas CGI.
1.1. Função CGI
Existem muitas tarefas para as quais o CGI é a melhor e única opção, e essas tarefas podem ser divididas em três categorias: tarefas iniciantes, tarefas intermediárias e tarefas avançadas. Tarefas elementares são tarefas que requerem pouca programação, como:
contador de texto
Programa para gerar HTML simples
Programas com menos de 50 linhas escritos em Perl, Shell Script, C ou C++
Há pelo menos três vantagens em usar CGI para escrever tais tarefas: primeiro, o CGI é executado mais rápido, enquanto o Java é muito caro; segundo, o padrão CGI é o mais compatível com os navegadores atuais, o que foi mencionado anteriormente; são abundantes e você pode encontrar milhares de códigos CGI na Internet.
As tarefas intermediárias incluem mapeamento de imagens e outras tarefas de programação um pouco mais complexas. No nível intermediário, há pouca diferença na facilidade de escrever programas em CGI e Java.
Essas tarefas incluem:
mapeamento de imagem
Script CGI para gerar HTML de página inteira
animação
Caracteristicamente, para tarefas avançadas, CGI é muito mais simples do que programar em Java. Essas tarefas incluem:
Operações de banco de dados de back-end
mecanismo de pesquisa
Várias páginas dinâmicas
Entre elas, as operações de back-end de banco de dados (aplicativos que acessam bancos de dados) refletem a superioridade do CGI. CGI tem uma certa história, na qual muitas funções úteis foram realizadas por outras pessoas na biblioteca CGI, ao mesmo tempo, muitas grandes empresas forneceram código-fonte feito com CGI; Java é uma linguagem de programação e CGI é a especificação funcional do programa gateway. Se houver grandes mudanças em Java, você terá que reescrever todo o programa e se houver grandes mudanças em CGI, você só precisará atualizar o programa da biblioteca CGI;
No entanto, o CGI tem limitações em algumas áreas.
1.2. Limitações do CGI
Em termos de mapeamento e animação de imagens, os programas CGI não são tão fáceis de desenvolver quanto os programas Java. Agora que Java está se tornando cada vez mais popular, os programas CGI estão se tornando cada vez mais adequados para escrever programas e aplicativos de banco de dados curtos e complexos.
1.3. Funções do programa CGI
A maior característica de um programa CGI é que ele pode ser compilado em qualquer linguagem e executado em qualquer plataforma, desde que esteja em conformidade com as especificações CGI. A tabela a seguir é uma comparação:
TarefaCGI+HTML HTML
Processar o formulárioSim Não
Crie conteúdo não estático em páginas WEBSim Não
Processar arquivos de imagem Sim Sim
Pesquise Sim Não em páginas e documentos da WEB
Criar formulárioSim Sim
Crie documentos independentes de plataforma Sim Sim
Crie aplicativos interativos, como salas de bate-papo Sim Não
Geração dinâmica de página Sim Não
Cortar documentos de páginas de acordo com as necessidades do usuário Sim Não
A seguir, encerramos esta palestra com uma série de programas “Hello World”:
Perl:
Requer "cgi-lib.pl";
Imprimir&PrintHeader;
imprimir " ";
imprima "Olá Mundo";
imprimir &PrintEnv;
saída;
Este arquivo é armazenado no diretório C:HTTPDCGI-BIN e é denominado 2_1.pl. Chame no navegador usando o endereço http://localhost/cgi-bin/2_1.pl. Observe que o OmniHTTPD deve estar em execução neste momento. Se tudo correr bem, você poderá ver “Hello World” e variáveis de ambiente em seu navegador.
C: #incluir
#include "html-lib.h"
#include "cgi-lib.h"
int principal()
{
html_header();
html_begin("Teste CGI");
h1("Programa CGI");
printf(" ");
h2("Variáveis de Ambiente CGI");
print_cgi_env();
html_end();
retornar 0;
Após a compilação, copie o arquivo executável para C:HTTPDCGI-BIN, renomeie-o para 2_1.cgi e chame-o com o endereço http://localhost/cgi-bin/2_1.cgi.