Como os scripts CGI transformam solicitações do navegador em páginas da Web dinâmicas

0
10

Você não precisa ser um mago para entender como a Internet costumava gerar conteúdo dinamicamente. Antes de as estruturas modernas e os aplicativos de página única com uso pesado de JavaScript assumirem o controle, a espinha dorsal do conteúdo dinâmico da web era o CGI. Interface de gateway comum. Parece seco. Funciona de forma simples.

Basicamente, um script CGI é apenas um programa. Geralmente escrito em C ou PERL, ele fica em uma pasta específica no servidor, normalmente chamada cgi-bin. Quando um navegador acessa o URL desse script, o servidor não envia apenas um arquivo estático. Ele executa o programa. Tudo o que o programa imprime em sua saída padrão (STDOUT) é encaminhado diretamente para o seu navegador.

Existe uma regra que você não pode quebrar. A primeira coisa que o script deve enviar é o cabeçalho: Content-type: text/html\n\n. Duas novas linhas no final. Ele sinaliza ao navegador: “O que se segue é HTML”. Depois disso? Vale tudo. Os desenvolvedores geralmente enviam tags HTML válidas para garantir que a página seja renderizada corretamente.

Tratamento de dados de formulário

Como o script sabe quais dados processar? Vem de um formulário HTML. Você define um atributo ACTION no código do formulário apontando para a URL do script CGI. Quando um usuário envia o formulário, os dados vão para o script.

O script então tem que fazer o trabalho pesado. Ele analisa as strings recebidas. Ele decodifica caracteres modificados (como transformar %20 novamente em um espaço). Um programa C simples pode lidar com essa análise, embora exija gerenciamento manual de memória e manipulação de strings.

Se você usar PERL, é mais fácil. A biblioteca PERL CGI abstrai a lógica de análise confusa. Você chama uma função e os dados estão prontos. É mais limpo. É mais rápido escrever.

Para onde vão os resultados?

Em um tutorial, você pode simplesmente imprimir os resultados na tela. Em um cenário do mundo real, você desejaria armazenar esses dados. Arquivos de texto? Bancos de dados? Ambos funcionam. Você pode anexar respostas de pesquisas a um arquivo de log de C ou PERL com código mínimo. Essa persistência é o que torna o CGI útil além de uma simples demonstração “Hello World”.

O legado do CGI

Abordamos os fundamentos de C e PERL neste contexto. Se você quiser se aprofundar na mecânica, você pode ver como a programação C ou PERL funciona nos bastidores. Ou explore como os servidores web gerenciam essas solicitações.

Para aqueles que querem pular o padrão, existem recursos como cgi-lib.pl. É uma biblioteca que simplifica significativamente o processamento PERL CGI. Há também o CGI Resource Index para documentação e introduções rápidas aos formulários HTML.

É uma tecnologia antiga. Mas estabeleceu o padrão de como os servidores se comunicam com programas externos. Entender isso ajuda você a entender a pilha moderna, mesmo se você estiver usando Python ou Node.js. A questão fundamental permanece a mesma: como podemos pegar a entrada do usuário e transformá-la em uma resposta dinâmica?

A resposta começou com um script em uma pasta cgi-bin.

попередня статтяGuia de presentes de tecnologia de férias: PS3, Kindle Fire e equipamentos de jogos retrô
наступна статтяComo a eletricidade estática alimenta sua impressora a laser