Introducción a CGI (Common Gateway Inteface)

CGI (Commnon Gateway Interface) permite ejecutar programas en un servidor web.

CGI proporciona un canal consistente e independiente del lenguaje de programación, para el acceso remoto a bases de datos o aplicaciones.

CGI es el medio que tiene un servidor que habla HTTP para comunicarse con un programa.

La idea es que cada cliente y programa servidor (independientemente del sistema operativo) tengan los mismo mecanismos para intercambiar datos, y que esos mecanismos los implemente de alguna forma el programa que hace de gateway (pórtico).

Un gateway es un programa que actúa como intermediario entre el servidor HTTP y otro programa que puede ser ejecutado por medio de la línea de comandos (por ejemplo, una base de datos relacional).

Una transacción con CGI realiza los siguientes pasos:

  1. El cliente envía al servidor una petición respetando el formato estándar de una URL (este incluye el tipo de servicio y la ubicación del mismo). Además se envia un encabezado con los datos del cliente.
  2. El servidor procesa la petición cuando llega y dependiendo del tipo de servicio solicitado decide que hacer luego. Si se solicita una página HTML, la devuelve. Si se solicita un programa CGI:
  3. El programa CGI devuelve una respuesta, como un documento HTML al servidor. El programa CGI siempre debe devolver una respuesta. Los datos deben estar precedidos por un encabezado que respete las convenciones MIME, indicando el tipo de datos devuelto en la cabecera.
  4. La salida es devuelta al cliente por el servidor y se corta la comunicación.

Casiano Rodríguez León
2012-02-29