
C.G.I.
(Common Gateway Interface)
Un
poco de historia.
Cuando WWW (World Wide Web) comenzó
a funcionar tal cual como lo conocemos hoy en día, no fue sino hasta 1993 que alcanza
o inicia su creciente popularidad, la implantación de los Plugins en los
navegadores dio pie a mayor y mejor interactividad entre el usuario y el
cliente, presentando como contraparte la poca velocidad y la necesidad de
descargar e instalar cada Plugins que se necesitara, evidentemente algo poco
efectivo, pero en su momento, de alguna manera daba solución a miles de usuario
y clientes, es aquí cuando se hace necesaria otra forma de interactuar el
usuario o el cliente con la pagina Web, entre otros hace su aparición los CGI’s
del cual nos referiremos mas adelante.
Pero,
¿Qué es un CGI?.
Por sus siglas en ingles, C.G.I. (Common Gateway Interface), aunque en realidad no es mas
que una forma de intercambiar información entre un servidor WEB
y un programa ubicado en el mismo servidor, CGI
significa programar el web para el web, no siendo el CGI un lenguaje. El lenguaje más utilizado para escribir las CGI es el Perl,
aunque este puede ser elaborando en cualquier lenguajes Visual Basic,
Rexx, Clipper, Visual C, Borland C, Delphi, etc, solo debe respetar lo
siguiente:
·
Se ejecuta en el servidor
·
Es capaz de leer variables de entorno y la entrada
estándar del sistema operativo.
·
Que sea capaz de escribir en la salida estándar del
sistema operativo.
Para
entender el funcionamiento de los CGI se presenta la imagen 3.1.

Figura 3.1
A
fin de cuentas “El propósito de los CGI´s es proveer
"inteligencia" e interactividad a un sitio web”
sin sacrificar tiempo, ni tener que realizar procesos engorrosos de bajar ni
instalar programas para cada función.
¿Qué
limitaciones tiene un CGI?
Como he mencionado antes usando CGI's se puede dotar a una página Web de una interactividad
que sería impensable con ningún otro método. Sin embargo no es posible ejecutar
cualquier programa desde una página Web. Por ejemplo no puedes entrar en la
página de Microsoft y ejecutar allí mismo la última versión de por ejemplo el
MS-Word o ir a un servidor Unix cualquiera y ejecutar
el interfaz gráfico X-Window.
El
propio interfaz CGI's impone severas limitaciones,
que se derivan por el propio funcionamiento del sistema:
En
una página Web se incluye la dirección URL de un CGI. En principio puede
introducirse una dirección de un CGI, en cualquier lugar donde puede
introducirse una dirección de una página Web.
Como
consecuencia de una acción del usuario el navegador envía al servidor Web una
petición de acceso a esa dirección (junto con información adicional).
El
servidor se da cuenta de que la dirección es un programa CGI y lo ejecuta,
usando como entrada al programa la información adicional enviada por el
navegador.
Al
ejecutar un CGI desde una página se le puede mandar toda la información que se
quiera, por ejemplo la información que el usuario ha introducido en un
formulario.
El
CGI procesará esta información y devolverá en general una página en formato
HTML que crea sobre la marcha con los resultados obtenidos o bien una dirección
de una página ya existente o bien una imagen.
El
servidor recibe la respuesta del CGI y se la envía al navegador, quien le da un
formato adecuadamente y la muestra al usuario.
En
resumen, debe quedar claro que el CGI recibe unos datos, los procesa y devuelve
otros datos. El usuario no puede interacturar
directamente con el programa CGI. Para obtener ese efecto hay que usar
apropiadamente el lenguaje HTML y hacer sucesivas llamadas a uno o varios CGI's. como se puede observar en
la figura 3.2.

Y…
¿Comúnmente donde son usados?
Nos
podemos topar con los CGI’s en muchas paginas y no percibirlo, por ejemplo en
los contadores o cuando llenamos un formulario, al interactuar con las bases de
datos, o al utilizar los muy conocidos motores de búsquedas (google, yahoo, altavista, entre otros), los generadores de emails automáticos, foros de discusión, Chat, rotadores,
comercio electrónico, mapas de imágenes, juegos en línea, en fin es un hecho
que los CGI`s se han convertido en parte indispensable al diseñar una pagina
Web en la actualidad.
Nuevas
Tendencias Post-CGI.
Hasta
ahora los CGIs eran la única manera de ofrecer
funciones avanzadas a una página Web como las comentadas antes. Sin embargo el
WWW va evolucionando y ya han surgido alternativas. Las que tienen más éxito
actualmente son:
·
Applets Java
·
Lenguajes de script de
los navegadores: JavaScript, VBScript
y pronto ECMAScript (estandarizado por el W3C)
·
Lenguajes de script para
servidores como PHP, ASP y 'JavaScript Liveware' de Netscape.
·
Ciertos controles ActiveX
que sólo funcionan en navegadores y servidores Web de Microsoft.
![]()
Última actualización: 14
de Febrero de 2005
![]()
[Principal] [Infografia] [Portada]