Introducción a los CGIs

Empecemos por el principio. El interfaz CGI consiste en un conjunto de normas que permiten a una p�gina Web comunicarse y ejecutar con programas externos a la p�gina. Estos programas deben a su vez seguir tambi�n una serie de normas. A los programas que cumplen estas reglas, impuestas por el interfaz CGI, se les llama programas CGI, scripts CGI o simplemente CGI's, y pueden estar escritos en cualquier lenguaje, tanto interpretados como compilados, siendo los m�s usados los siguientes:

Perl
Este lenguaje interpretado es el m�s usado a la hora de hacer CGI's debido a las grandes facilidades que ofrece en el tratamiento de texto. Suele estar presentes en todas las plataformas tipo Unix, como Linux.
Bash (sh) o cualquier otra shell de Unix
Son usados por su incre�ble sencillez y facilidad de aprendizaje. Sin embargo tienen fallos de seguridad y no es aconsejable usarlos excepto para CGI's muy sencillos.
C o C++
Son tambi�n muy usados. Ofrecen la ventaja de que son lenguajes mucho m�s potentes, pero tienen otros inconvenientes: son m�s dif�ciles de aprender, es necesario compilarlos y sobre todo porque lleva m�s tiempo hacer un programa us�ndolos que usando por ejemplo Perl.

A partir de ahora hablaremos de CGI's para referirnos a este tipo de programas. Su principal caracter�stica ser� que se ejecutan en el ordenador donde est� el servidor Web, y nunca en el del navegante que visita la p�gina.

La siguiente pregunta b�sica es �qu� limitaciones tiene un CGI? Como he mencionado antes usando CGI's se puede dotar a una p�gina Web de una interactividad que ser�a impensable con ning�n otro m�todo. Sin embargo no es posible ejecutar cualquier programa desde una p�gina Web. Por ejemplo no puedes entrar en la p�gina de Microsoft y ejecutar all� mismo la �ltima versi�n de por ejemplo el MS-Word o ir a un servidor Unix cualquiera y ejecutar el interfaz gr�fico X-Window.

El propio interfaz CGI's impone severas limitaciones, que se derivan por el propio funcionamiento del sistema:

  • En una p�gina Web se incluye la direcci�n URL de un CGI. En principio puede introducirse una direcci�n de un CGI, en cualquier lugar donde puede introducirse una direcci�n de una p�gina Web.
  • Como consecuencia de una acci�n del usuario el navegador env�a al servidor Web una petici�n de acceso a esa direcci�n (junto con informaci�n adicional).
  • El servidor se da cuenta de que la direcci�n es un programa CGI y lo ejecuta, usando como entrada al programa la informaci�n adicional enviada por el navegador.

    Al ejecutar un CGI desde una p�gina se le puede mandar toda la informaci�n que se quiera, por ejemplo la informaci�n que el usuario ha introducido en un formulario.

  • El CGI procesar� esta informaci�n y devolver� en general una p�gina en formato HTML que crea sobre la marcha con los resultados obtenidos o bien una direcci�n de una p�gina ya existente o bien una imagen. Tambi�n es posible devolver otros tipos de datos pero son menos usados y no entraremos en ellos.
  • El servidor recibe la respuesta del CGI y se la env�a al navegador, quien la formatea adecuadamente y la muestra al usuario.
Figura 1

En resumen, debe quedar claro que el CGI recibe unos datos, los procesa y devuelve otros datos. El usuario no puede interacturar directamente con el programa CGI. Para obtener ese efecto hay que usar apropiadamente el lenguaje HTML y hacer sucesivas llamadas a uno o varios CGI's.

Lo �ltimo que nos queda por decir de los programas CGIs es respecto a su forma de interactuar con el servidor Web. Es muy sencillo, toma los datos de entrada por la entrada est�ndar (como si hubiera un usuario escribi�ndolos en un teclado) y env�a los datos de salida por la salida est�ndar (como si los mand�ramos a una pantalla). Gracias a esta sencillez cualquiera que haya programado en un lenguaje de programaci�n puede realizar un CGI sin tener que aprender muchas cosas nuevas.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP