Introducción a los CGI

CGI significa «Common Gateway Interface» , y es el método con el que un server ejecuta los database, los documentos y otros programas mandando y recibiendo datos. Sucesivamente estos datos se visualizarán en el web. Prácticamente, saber escribir CGI significa programar el web para el web. El lenguaje más utilizado para escribir las CGI es el Perl, aunque es posible utilizar otros lenguajes (C sobre todo).

Ahora vamos a analizar más detalladamente cómo funcionan las CGI y la relación entre cliente-servidor. Normalmente cuando en nuestro browser indicamos un URL (Uniform Resource Locator) pasa lo siguiente:

  • nuestro ordenador toma contacto con el servidor HTTP utilizando el url que indacamos nosotros;
  • el servidor HTTP busca el nombre del archivo solicitado por nuestro ordenador y, cuando lo encuentra, nos devuelve el archivo;
  • por último, nuestro ordenador, recibido el archivo, lo elabora y lo muestra en la pantalla nueve veces de diez como una normal página web (es decir en formato HTML).

    En algunos casos es posible configurar el servidor HTTP de forma que éste, cada vez que se solicita un archivo en un determinado directorio, no devuelva directamente el archivo. Este archivo se pone en marcha como si fuera un verdadero programa del servidor y sólo el output de este programa del servidor se envía a nuestro ordenador para que lo visualice. Un ejemplo evidente puede ser el contador. El ordenador que entra en el sitio donde está el contador no hace nada sino visualizar la gif preparada por el servidor (siempre que sea un contador gráfico), que lleva a cabo todo el trabajo de localizar el visitador para preparar una imagen con el número de los accesos. Ésta es precisamente la función que se llama Common Gateway Interface. y estos programas se llaman script CGI.

    Preparémonos a las verdaderas lecciones haciendo un listado de las cosas que necesitamos para empezar. En primer lugar, un servidor funcionante. No es conveniente (para los que tengan esta suerte) controlar el trabajo que estamos a punto de empezar en un verdadero servidor de la red. En los siguientes capítulos veremos como instalar y configurar un servidor de la red en nuestro ordenador sin necesidad de redes de pc y modem siempre encendidos. Además, será útil conocer el Perl y tener el intérprete en nuestra máquina. No se necesitan conocimientos detallados de este lenguaje, sin embargo cuanto más se sepa mejor. Como dice Larry Wall, autor de este lenguaje, el Perl se parece en todo a un idioma. Hay gente que lo estudia en todos sus detalles y otros que lo utilizan para las charlas de todos los días. De todas formas, todos saben hablar, así que el Perl se puede aprender con muchos matices. Sin embargo, no es necesario conocer todos los aspectos para escribir vuestros script. Lo que sí se necesita es mucha paciencia, ganas de aprender y experimentar.