Cuando el World Wide Web inició su funcionamiento
como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo
se podía apreciar texto, imágenes y enlaces. La introducción de Plugins en los navegadores permitió mayor
interactividad entre el usuario y el cliente, aunque estaba limitado por la
velocidad y la necesidad de tener que bajar e instalar cada plugin que se necesitara,
por lo que estos se desarrollaron mayormente en áreas de vídeo, audio y realidad
virtual.

El CGI (Por sus siglas en inglés “Common Gateway Interface”) cambio
la forma de manipular información en el web.

En sí, es un método para la transmisión de información hacia un compilador instalado
en el servidor. Su función principal es la de añadir una mayor interacción a
los documentos web que por medio del HTML se presentan de forma estática.

El CGI es utilizado comúnmente
para contadores, bases de datos, motores de búsqueda, formulários, generadores
de email automático, foros de discusión, chats, comercio
electrónico
, rotadores y mapas de imágenes, juegos en línea y otros.

Esta tecnología tiene la ventaja de correr en el servidor cuando el usuario
lo solicita por lo que es dependiente del servidor y no de la computadora del
usuario.

De acuerdo a la traducción de la NCSA: “Un documento HTML
es estático, lo que significa que existe en un estado constante; es un archivo
de texto que no cambia. Un script CGI por otro lado, es ejecutado en tiempo
real, lo que permite que regrese información dinámica. Por ejemplo, digamos
que quieres conectar tus bases de datos de Unix al World Wide Web para permitir
que las personas de todo el mundo la manipulen. Básicamente, lo que debes hacer
es crear un script CGI que será ejecutado por el servidor para transmitir información
al motor de la base de datos, recibir los resultados y mostrarselos al cliente.
Este es un ejemplo sencillo que muestra donde el CGI tiene sus origenes”.

Los programas que maneja el CGI pueden estar
compilados en diferentes lenguajes de programación. El más popular para el desarrollo
de contenidos Web es el lenguaje Perl de distribución gratuita,
aunque también podemos mencionar: C, C++ y Java.

El funcionamiento de esta tecnología es muy sencillo. Los scripts residen en
el servidor, donde son llamados, ejecutados y regresan información de vuelta
al usuario.

Para una mejor aclaración presentamos la siguiente
gráfica:

Gráfica Introductoria del CGI

Un ejemplo de un llamado a un script CGI puede ser:

http://www.maestrosdelweb.com/cgi-bin/ejemplo.cgi

Hay que tomar muy en cuenta que existen dos formas de enviar información; siendo
estas por medio de GET y POST.

El primero envía la información dentro del URL separando los campos con signos
de interrogación ‘?’ antes de la información, como
por ejemplo: http://www.maestrosdelweb.com/cgi-bin/ejemplo.cgi?nombre=Christian&cargo=Webmaster

Esta forma presenta varias desventajas, ya que no permite manejar grandes cantidades
de información y por ser una dirección, los Caches de los navegadores pueden
guardar los resultados, lo que dificulta el poder acceder nuevamente a la aplicación,
pero simplifica el uso de los scripts con solo utilizar una dirección URL.

La otra forma de enviar la información es por medio de POST,
el cual envía la información directamente al servidor, haciendolo invisible
en el URL y permitiendo cualquier cantidad de información, como el envío de
archivos.

Las diferencias entre GET y POST son primordiales para adaptar una aplicación y hacerla funcionar.

Así, el siguiente paso luego de de manejar el diseño de
páginas web es aventurarse a estas tecnologías que darán un nuevo concepto de
interacción en un sitio web.

Existe una grán cantidad de código gratuito disponible para iniciar, pero es
necesario contar con un servidor adecuado y que soporte esta tecnología, asi
como la modificación de permisos dentro de sus directorios. La forma más facil
de hacer pruebas es con el compilador Perl que viene incluido en cualquier plataforma
Unix o derivada como es el caso de Linux.
En otras plataformas de 32 bits como Windows puede ser instaldo el Perl32.

Cualquier consulta sobre CGI será
bienvenida a través de los foros.