Tutorial de CGI
(Common Gateway Interface)

Los CGI son programas simples que reciben la información ingresada en un FORMulario Web, la procesan (enviar por email, imprimir, operar con una base de datos, etc) y luego arroja un resultado en formato HTML (generalmente) al usuario que ingresó los datos en el FORMulario.

Dichos programas CGI son principalmente programas en lenguaje C, C++, Perl y Shell, que son puestos en un servidor web, quién se encarga de desplegar el FORMulario y ejecutar el CGI.

Existen 2 métodos de ejecución del CGI por parte del servidor web: el POST y el GET. La diferencia radica en que el POST le pasa los parámetros al CGI (archivo ejecutable) via variables de ambiente y el GET a través de la línea de comandos, como argumentos del shell.

Otra diferencia es que con GET los valores de los campos que el usuario llenó es enviado como parte de la URL (ej: action?campo1=blah&campo2=blargh&campo3=blorf), mientras que POST envía los datos como un bloque de datos (que no se ven) hacia el servidor.

Por razones de seguridad y compatibilidad (algunos S.Operativos truncan la cantidad de caracteres que se pueden pasar por línea de comando), se recomienda fuertemente el uso del método POST.

A continuación se presenta un ejemplo:

El sistema CGI está obsoleto (aunque aún se ocupa en muchos sitios) y en su reemplazo existen lenguajes de programación más versátiles como:

  • PHP - lenguaje interpretado por el servidor web
  • ASP - versión Microsoft de "Visual Basic en línea"
  • Python
  • Java (JSP)