jueves, 21 de octubre de 2010

CGI

Interfaz de entrada común(Common Gateway Interface) es una importante tecnología web que permite crear páginas dinamias, el cliente(navegador web) solicita datos a un servidor web. Es el proceso de interacción entre el servidor web y aplicaciones externas. A las aplicaciones que se ejecutan en el servidor se les llama CGI's.

Esta tecnología fue una de las primeras que permitio el dinamismo de las páginas web, a grandes rasgos lo que hace es, primero el cliente manda una petición al servidor, este servidor ejecuta alguna aplicación externa escrita en cualquier lenguaje que soporte el servidor por lo general son scripts por su portabilidad y genera un contenido que se va a mostrar al cliente en el navegador en vez del documento estático tradicional.

CGI ha hecho posible agregar funcionalidades nuevas alas páginas web motivo por el cual esta tecnología rápidamente se volvió un estándar siendo utilizada en muchos servidores web.

Funcionamiento CGI
  • Primero que nada el servidor recibe una petición del cliente y se verifica si se trata de alguna invocacion a un CGI.
  • Después el servidor se prepara para ejecutar las aplicaron, esta información casi siempre viene del cliente.
  • Después el servidor ejecuta la aplicación dando como resultado una salida estándar.
  • Enseguida la aplicación realiza su función, genera un objeto MIME agregandolo a la salida estándar.
  • Ahora cuando la aplicación termina, el servidor envía la información producida más la propia al cliente que se encontraba en espera.

Programación de un CGI

Estos programas pueden escribirse en diferentes lenguajes que generen un fichero ejecutable, los más comunes son Perl, C, C++ y el que ya conocemos por experiencia propia Python. Como el lenguaje recibe los parámetros en cadenas de texto es conveniente usar un lenguaje que permita realizar manipulaciones a las cadenas de caracteres de manera fácil, por ejemplo Perl y Python.

Tipos comunes de CGI's
  • Correo: Obtiene la información de manera estructurada del cliente.
  • Contador de accesos: Cuenta el numero de veces que se entra a alguna página, este dato es guardado en algún fichero, y cuando se vuelve a acceder a la página aumenta su valor.
  • Buscador: Localiza páginas, usando tablas con palabras especificas, y a su vez las paginas que las contienen
  • Contribuciones: Permite añadir información auna página indicando la procedencia de la adición.
  • Estadísticas de uso: Contiene información de lo ocurrido en el servidor de WWW.
  • Administración remota del servidor: Permite interactuar con el servidor desde WWW.

Leyendo la forma de entrada del usuario
El usuario envía la información a traves de los formularios html, y nuestro script recibe los datos de forma nombre-valor, en donde nombre son los especificados en las etiquetas INPUT y los valores es lo que el usuario haya tecleado o seleccionado.
Este es el formato de la cadena:
nombre1=valor1&nombre2=valor2&nombre3=valor3

Enviar respuesta
Primero escribes la linea Primero, escribe la línea
Content-type: text/html
y ahora si escribes el documento html según el lenguaje que se este utilizando.

Este es un ejemplo simple en Perl(sitio del código):


Aunque es muy simple comparado con lo que ya hicimos en Python muestra como se usa Perl para crear páginas web dinamicas, y tengo algo más que mostrarles muy acorde al tema, es un tutorial que a mi me gusto mucho, y se que a ustedes tambien les va a interesar ya que esta muy relacionado con lo que ya hicimos, pero muestra una aplicacion web muy completa, sencilla y profesional...como hacer un WIKI con Python y la tecnologia CGI, aqui les dejo el PDF que encontré en la web, el link del sitio original de donde lo obtuvé ya no lo tengo pues ya pasaron algunos meses, sin embargo lo subí a google docs para poder compartirlo con ustedes:


Descargar aquí;


Referencias:

Laboratorio

1 comentario: