inicio anterior siguiente

Noticias Tecnológicas y ofertas
Introducciˇn

CGI es una norma para establecer comunicación entre un servidor web y un programa, de tal modo que este último pueda interactuar con internet. También se usa la palabra CGI para referirse al programa mismo, aunque lo correcto debería ser script. De todos modos en este tutorial nos interesa aprender a escribir estos programas por lo cúal usaremos la palabra indistintamente, como es costumbre en castellano.

Un CGI (Common Gateway Interface) es un programa que se ejecuta en tiempo real en un Web Server en respuesta a una solicitud de un Browser. Cuando esto sucede el Web Server ejecuta un proceso hijo que recibirá los datos que envía el usuario (en caso de que los haya), pone a diposición del mismo algunos datos en forma de variables de ambiente y captura la salida del programa para enviarlo como respuesta al Browser.
El propósito de los CGI´s es proveer "inteligencia" e interactividad a un sitio web, por ejemplo encontrar un sitio en Yahoo utilizando solo los links que se proveen puede ser una labor frustrante, sin embargo usar el formulario y solicitar una busqueda personalizada suele frustrarnos (un poco) menos, ya que un CGI nos provee de una respuesta hecha a la medida (eso dice la teoría) de nuestra consulta.
Existen otras herramientas para lograr esto en cierta medida, tales como Server Side Includes o JavaScript, no es el propósito de este tutorial tocar en profundidad estos temas.

Generalidades

A lo largo de tu recorrido por el sitio te vas a topar con los siguientes símbolos:

Haciendo click en este verás un ejemplo funcionando de la materia tratada.
Indica que la sección que viene a continuación contiene un truco o forma fácil de hacer algo o una nota importante.
Haciendo click en este podrás bajar el codigo fuente del ejemplo tocado (la mayoría de las veces en formato zip)
Haciendo click en este podrás ir al próximo capítulo.
Haciendo click en este podrás ir al capítulo anterior.
Haciendo click en este podrás ir al indice.

Lenguajes

Aunque un CGI se puede programar en cualquier lenguaje soportado por el sistema operativo del servidor, usaremos el lenguaje C para nuestros ejemplos (excepcionalmente se tocarán algunos otros lenguajes).
Esto es porque un ejemplo en C podrá ser fácilmente portado a casi cualquier sistema operativo.

Si escribes CGIs para IIS (Windows NT), debes asegurarte de compilarlos en modo 32 bits, de otro modo no funcionarán.
Además no es una buena idea usar programas .exe sino más bien usar DLLs Dynamic Link Libraries que corren mucho más rápido.
Para mayor información revisa este breve apéndice sobre NT.

Otro lenguaje popular para escribir CGI┤s es el Perl, el c˙al es interpretado y al igual que el C es altamente portable entre sistemas operativos.

Los ejemplos de código los haré lo mas claros posibles, por ejemplo en vez de usar un código como

  int main(){
    FILE *fp;
    if ( (fp = fopen("algo.dat","rb"))==NULL ) exit(1) else algo();
    return(0);
  }  

preferiré uno algo más largo pero también más claro como:.

  int main(){
    FILE *fp;
    fp  = fopen("algo.dat","rb");
    if( fp == NULL )
    {
      exit(1);
    }else{
      algo();
    }
    return ( 0 );
  }

Servidor

Este sitio se encuentra funcionando sobre un servidor Apache cuya configuración particular obliga a que la extensión de los cgis sea .cgi, esto puede variar en el caso de tu webserver. Te sugiero que contactes a tu webmaster para que te indique que extensiones, lenguajes y directorios están a tu disposición para ejecutar CGI┤s.

 


inicio anterior siguiente