21 noviembre 2010

CGI - Common Gateway Interface

Las páginas web que hemos aprendido a crear hasta ahora son páginas web estáticas, que son creadas con el objetivo de mostrar información permanente, donde los usuarios que visitarán nuestro sitio se limitarán solo a obtener información sin poder interactuar de ninguna forma con la página.

Estás página web estáticas que hemos creado están conformadas principalmente por vínculos entre las páginas que conforman el sitio completo, y cada una de ellas muestra una cierta información. Pero esto es más que suficiente para los sitios web que solo ofrecen alguna descripción de la empresa o negocio, quiénes son, donde están ubicados, los servicios que ofrecen, etcétera.

Pero que tal si se desea crear una página web dinámica, donde el contenido mostrado no sea siempre el mismo. Afortunadamente contamos ahora con tecnologías capaces de ayudarnos con esto, veamos una de las primeras formas para el desarrollo de páginas web dinámicas, esto mediante un CGI.

¿Qué es CGI?

El CGI es la Interfaz de Entrada Común, por sus abreviación del inglés Common Gateway Interface, que es una tecnología de la WWW que permite al navegador web solicitar datos a un programa que se ejecutará en el servidor web. El CGI es un mecanismo de comunicación entre tu navegador y el servidor cuyo resultado será una página con contenido dependiendo de la información solicitada.

Las aplicaciones CGI fueron las primeras prácticas de crear contenido dinámico para las páginas web. En el CGI el cliente solicita información a un programa externo, este programa puede estar escrito en cualquier lenguaje soportado por el servidor, pero por razones de portabilidad se recomienda el uso de lenguajes script.

El CGI se utiliza comúnmente para contadores, bases de datos, motores de búsqueda, formularios, foros de discusión, juegos en línea, entre otros.

Una de las ventajas de esta tecnología es que es ejecutado el programa en el servidor y no depende de la computadora del usuario.

Los programas manejados por el CGI pueden ser compilados en diferentes lenguajes, pero el más popular es Perl de distribución gratuita, aunque también podemos mencionar C, Java y Python.

¿Cómo funciona el CGI?

  • Primero, el servidor recibe una petición del cliente y comprueba si es una llamada al cgi.
  • Entonces el servidor prepara la ejecución del programa, con información recibida del cliente.
  • Luego el servidor ejecuta la aplicación.
  • La aplicación realiza su función y como consecuencia de su actividad se genera una nueva página web.
  • Cuando la aplicación finaliza, el servidor envía la información generada al cliente que le solicito alguna acción.

Un ejemplo de llamado a un script CGI podría ser:
http://www.midominio.com/cgi-bin/ejemplo.py

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

Diferencia entre GET y POST

El método GET envía la información dentro del URL separando los campos con signos de interrogación "?" antes de la información. Ejemplo:
http://www.tudominio.com/cgi-bin/ejemplo.py?nombre=esteban&edad=18

La desventaja de usar este método radica en que no permite manejar grandes cantidades de información y por ser una dirección, el cache del navegador puede guardar los resultados y dificultaría acceder nuevamente a la aplicación.

El otro método es el POST, el cual envía la información directamente al servidor, haciéndolo invisible en el url y permitiendo cualquier cantidad de información, como el envío de archivos.

Enlaces: ¿Qué es CGI? | Web estática

1 comentario: