domingo, 7 de noviembre de 2010

Common Gateway Interface (CGI)



Common Gateway Interface

Es una importante tecnología de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicación entre el servidor web y una aplicación externa cuyo resultado final de la ejecución son objetos MIME.Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.

Las aplicaciones CGI fueron una de las primeras prácticas de crear contenido dinámico para las páginas web. En una aplicación CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las páginas web, de tal manera que esta interfaz rápidamente se volvió un estándar, siendo implementada en todo tipo de servidores web.

En la siguiente imagen se observa como es el proceso de un cgi.


Bueno en la imagen se observa que el cliente desde el Browser llena un formulario y manda una petición al servidor que viaja por el protocolo HTTP y se ejecuta la aplicación cgi dentro del servidor web después el cgi prepara un objeto MIME y se le muestra la pagina solicitada al cliente.

Existen 2 métodos en el cual el formulario envía la información al cgi 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.ejemplo.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.


Aquí les dejo una pagina que encontré con ejemplos de cgi


También leei que se puede programar cgi con lenguajes como c o c++ pero no es recomendable por que no son lenguajes interpretados.

Aquí les dejo una pagina de cgi en c que encontré.


Para mas información


Saludos...

1 comentario: