¿Qué es el CGI?

El CGI por sus siglas en inglés ‘Common Gateway Interface’ es de las primeras formas de programación web dinámica.

Cuando el World Wide Web inició su funcionamiento
como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo
se podía apreciar texto, imágenes y enlaces. La introducción de Plugins en los navegadores permitió mayor
interactividad entre el usuario y el cliente, aunque estaba limitado por la
velocidad y la necesidad de tener que bajar e instalar cada plugin que se necesitara,
por lo que estos se desarrollaron mayormente en áreas de vídeo, audio y realidad
virtual.

El CGI (Por sus siglas en inglés “Common Gateway Interface”) cambio
la forma de manipular información en el web.

En sí, es un método para la transmisión de información hacia un compilador instalado
en el servidor. Su función principal es la de añadir una mayor interacción a
los documentos web que por medio del HTML se presentan de forma estática.

El CGI es utilizado comúnmente
para contadores, bases de datos, motores de búsqueda, formulários, generadores
de email automático, href="http://www.forosdelweb.com/" >foros de discusión, chats, href="http://www.maestrosdelweb.com/editorial/comercio/">comercio
electrónico, rotadores y mapas de imágenes, juegos en línea y otros.

Esta tecnología tiene la ventaja de correr en el servidor cuando el usuario
lo solicita por lo que es dependiente del servidor y no de la computadora del
usuario.

De acuerdo a la traducción de la href="http://hoohoo.ncsa.uiuc.edu/cgi/intro.html">NCSA: “Un documento HTML
es estático, lo que significa que existe en un estado constante; es un archivo
de texto que no cambia. Un script CGI por otro lado, es ejecutado en tiempo
real, lo que permite que regrese información dinámica. Por ejemplo, digamos
que quieres conectar tus bases de datos de Unix al World Wide Web para permitir
que las personas de todo el mundo la manipulen. Básicamente, lo que debes hacer
es crear un script CGI que será ejecutado por el servidor para transmitir información
al motor de la base de datos, recibir los resultados y mostrarselos al cliente.
Este es un ejemplo sencillo que muestra donde el CGI tiene sus origenes”.

Los programas que maneja el CGI pueden estar
compilados en diferentes lenguajes de programación. El más popular para el desarrollo
de contenidos Web es el lenguaje href="http://www.perl.com/">Perl de distribución gratuita,
aunque también podemos mencionar: C, C++ y Java.

El funcionamiento de esta tecnología es muy sencillo. Los scripts residen en
el servidor, donde son llamados, ejecutados y regresan información de vuelta
al usuario.

Para una mejor aclaración presentamos la siguiente
gráfica:

height="252" alt="Gráfica Introductoria del CGI"
src="/images/cgi_intro.gif" width="450" class="centro"/>

Un ejemplo de un llamado a un script CGI puede ser:

http://www.maestrosdelweb.com/cgi-bin/ejemplo.cgi

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

El primero envía la información dentro del URL separando los campos con signos
de interrogación ‘?’ antes de la información, como
por ejemplo: http://www.maestrosdelweb.com/cgi-bin/ejemplo.cgi?nombre=Christian&cargo=Webmaster

Esta forma presenta varias desventajas, ya que no permite manejar grandes cantidades
de información y por ser una dirección, los Caches de los navegadores pueden
guardar los resultados, lo que dificulta el poder acceder nuevamente a la aplicación,
pero simplifica el uso de los scripts con solo utilizar una dirección URL.

La otra forma de enviar la información es por medio de POST,
el cual envía la información directamente al servidor, haciendolo invisible
en el URL y permitiendo cualquier cantidad de información, como el envío de
archivos.

Las diferencias entre GET y POST son primordiales para adaptar una aplicación y hacerla funcionar.

Así, el siguiente paso luego de de manejar el diseño de
páginas web es aventurarse a estas tecnologías que darán un nuevo concepto de
interacción en un sitio web.

Existe una grán cantidad de código gratuito disponible para iniciar, pero es
necesario contar con un servidor adecuado y que soporte esta tecnología, asi
como la modificación de permisos dentro de sus directorios. La forma más facil
de hacer pruebas es con el compilador Perl que viene incluido en cualquier plataforma
Unix o derivada como es el caso de href="http://maestrosdelweb.com/editorial/cgiintro/linux/">Linux.
En otras plataformas de 32 bits como Windows puede ser instaldo el Perl32.

Cualquier consulta sobre CGI será
bienvenida a través de los href="http://www.forosdelweb.com/">foros.

Christian Van Der Henst S. @cvander
Viajero apasionado, geek y entusiasta del uso y promoción de tecnologías web como herramientas de educación y desarrollo social.
Unregistered
19/01/2003

Al fin he encontrado informacion dirigida a los principiantes. En horabuena!!!

Unregistered
19/01/2003

pues me parece bien, pero yo tengo poca experiencia en cgi y me gustaría que fuera un poco mas explicativo

Unregistered
19/01/2003

no da ejemplos en JAVA

Unregistered
19/01/2003

Tu informacion esta muy bien
pero necesitaria saber un poco
mas estaria bien que pongas otro
articulo

Unregistered
19/01/2003

bastante buena la pagina, pero me gustaria ver ejemplos de codigo

Unregistered
19/01/2003

me gusta mucho el articulo, me ha aclarado las dudas que tenía

Unregistered
19/01/2003

mi gran duda es ya instale el perl para windows pero no se ni que es lo que hay que correr para iniciar mi programa
si me apoyan se lo agradeere mucho. tambien que extencion de archivo y como lo corro.

gracias

Unregistered
19/01/2003

Podrias incluir mas graficos apra ver como son exactamente y coo funcionnan los CGI’s

Unregistered
19/01/2003

Hola soy Jorge Abel Navarro Mercado de Guadalajara, México.
Los Artículos que muestras son excelentes pero tengo
Una duda como veras soy nuevo en esto y necesito saber
Que plataforma o programas debo tener instalador en mi servidor para que
Un formulario CGI funcione en mi web.
Agradezco tu información.

Unregistered
19/01/2003

es muy aclaratorio y pedagógico

Unregistered
19/01/2003

Está bastante bien.
Define, aclara, introduce y orienta.
¿Qué más se le puede pedir?
Gracias

Unregistered
19/01/2003

Quiero iniciar en este tema y el artículo me fue de mucha utiilidad, gracias por tomarse el tiempoi de hacerlo.

Unregistered
19/01/2003

NO tenia idea de lo era cgi y pienso
que esta muy claro
felicitaciones
buen trabajo y voy a recomendar
su pagina a mis amigos

Unregistered
19/01/2003

Como introduccion
muy bien y excelentes
los enlaces.

Unregistered
19/01/2003

CGI está pasado de moda

Unregistered
19/01/2003

Me encantaria que se pudiese abilitar una seccion donde se explique como manipular los metodos get y post usando los valores obtenidos por ellos con una base de datos en otras palabras el uso de CGI y BDI en perl.
gracias.
Luis

Unregistered
19/01/2003

Estaria mejor la pagina si tuviera mas ejemplos de codigo CGI

Unregistered
19/01/2003

El articulo lo veo de p.m. (es lo + claro), pero pienso que a veces se dan por supuestas algunas cosas, como por ejemplo:”crear un script CGI” ¿donde?¿como?¿en dreamweaver por ejemplo? no se, es mi unico inconveniente. Por lo demas os felicito por el articulo. Un saludo

Unregistered
19/01/2003

MUCHISIMAS GRACIAS EN 2 HORAS
TENGO QUE EXPONER SOBRE
CGI ESTO ME SERVIRA DE MUCHO
GRACIAS.

Unregistered
19/01/2003

Muy pobre, no explica nada. Vengo buscando un tutorial, y me encuentro con una bobada que me “medio” dice qué es el CGI. ¡Échenle más ganas para la siguiente!

Unregistered
19/01/2003

bueno solo un detalle revise
el contenido del la explicaion
que hay una o dos palabras
repetidas. gracias por escuchar
la sugerencia.

Unregistered
19/01/2003

ha sido la forma mas rapida y clara de conocer que es el CGI y como funciona

Unregistered
19/01/2003

hola, soy estudiante de una maestria en TI/SI, y necesito información acerca de las tecnologías unix VS NT

Unregistered
19/01/2003

Estan muy completos todos los articulos, pero les falta un de ejemplos, visuales como codigo.

Unregistered
19/01/2003

prodian especificar en el articulo hostings gratuitos y de pago que permitan alojar cgi´s

Unregistered
19/01/2003

Como nivel introductorio me parece bueno, da una ubicación general del tema. Ok.

Unregistered
15/02/2003

parecia un buen articulo hasta que me di cuenta que el tutorial y los enlaces tematicos eran links rotos…

Erika
12/10/2003

Sobre que plataforma trabaja CGI

Ricardo Sanchez
14/12/2003

Muy buen articulo y claro

johana carcamo
2/03/2004

muy excelente pagina. muchas felicidades.

Antonio
24/03/2004

muy bueno

Fabrizio
23/08/2006

PERO QUIERO UN CGI LIBRE DONDE PUEDA ENLAZAR MI WEB…GRACIAS

d@vid
11/09/2006

me gust@ri@ que en tu web, insert@r@s codigos de cgi.

Daniel Melendez
13/11/2006

Gracias por la iniciativa de explicar como funciona CGI, pero seria interesante que redactaras un curso especificando los detalles tecnicos de esta programacion, te estariamos inmensamente agradecidos. Dios te bendiga.

LALO
9/01/2007

ta bien. despues de todo. es simplemente un articulo no un curso. suerte!!!

Allan Arzaba
19/02/2007

Hola que tal me gustaria saber como hacer un CGI en C. para utilizarlo con php

Pablo
21/02/2007

Esta muy bien para aclarar que es cgi. Corto y conciso.
Saludos
http://www.inteve.com.ar

Alberto
22/08/2007

Soy novatop en esto del desarrollo de paginas WEB y me sirve mucho su información, es muy digerible, sigan asi…felicidasdes y gracias por si info

Guillermo Forero
26/01/2008

Necesito codigos ejemplos para darme una idea y utilizarlos

eric
31/01/2008

me gustan sus paginas

Steve
13/05/2008

La verdad muy simple tu explicacion. No dice nada… te falta mucho por aprender. Para poner algo asi , mejor es no escribir nada.

    Ester
    18/12/2009

    Entonces, me podrias explicar como crear un archivo cgi en mi servidor y luego crar dentro de él una carpeta arp? y como copiar los archivo de la carpeta arp que tengo en el escritorio a la carpeta arp dentro del hosting?
    Es para instalar un autoresponders.
    Tambien si estas familiarizados me podrias decir si un autorespoders se puede instalar en cualquier hosting y especificamente si se puede en el 1&1.com.
    Estoy intentando instalar el autoresponders Intel Responder en un hosting de 1&1.com. pero tengo un entrevero.
    Te agradeco respuesta. Saludos.

Me ha gustado esta definición de ‘CGI’. Pero voy a ampliarla más. Hasta pronto.

me encanata esta informacion pero me gustaria que saliera algo mas actualizado sobre el CGI gracia por esta valiosa informacion chao

xstonex
28/01/2009

xstonex
28/01/2009

xstonex
28/01/2009

alert()

José Santaella
15/03/2009

Gracias por la información, actualmente preparo una charla acerca de los CGI utilizando Python, Apache, Html y MySql, a petición de una Institución.

Pero, comencé por presiones ajenas a programar de tal manera, sin saber que eso era denomindo CGI y ahora estoy documentando para comprender más y poder transmitir mejor los conceptos y utilidad.

Es un importante trabajo el que realizas, porque para quienes siempre nos consideramos aprendices es valiosa

Hablando en Buen cubano, esto es una pinga, pues no he podido solucionar mi problema ni hay actualizaciones del tema

chao

alex
3/08/2009

Ahora si entendi, gracias

quisiera saver como hacer un archivo cgi. nesesito un programa para ejecutar el lenguaje cgi? donde escrivo el lenguje de programacion cgi.? en cualquier editor de texto? como ago para que el archivo tenga la extencion ( .cgi )?

laura aldadna
12/10/2009

expliquen sobre el perl lenguje de programcaion pra cgi cuale son las variables de entorno la linea de comandos del cgi

vanesa
2/11/2009

Esta bien la teoria, pero no ayuda en nada porque no hay ejemplo.

Seria excelenet que pusieran EJEMPLOS

Emoal Forte
4/02/2010

menuda mierda

gldd
16/02/2010

gracias! muy util!

Unknow
22/03/2010

Muy bien…

nota:te falta parte de código en los enlances, me imagino q lo hiciste para q la gente buscara mas info, pero creo q no todos lo notaron

daniel
3/06/2010

muy buena informacion
me a aclarado bastante
peroo me surge una duda
se supone q php es un script cgi o me eqivco?
esoo significa q para q el php funcione, como una especie de nucleo es el cual es llamado del servidor y es asi como se ejecuta, osea al = q cualqier script cgi???????
gracias

julio cesar
15/07/2010

me gustaria saber mas informacion sobre formularios

[...] PHP se puede hacer cualquier cosa que podemos realizar con un script CGI, como el procesamiento de información en formularios, foros de discusión, manipulación de [...]

[...] dinámica de paginas”. Con PHP se puede hacer cualquier cosa que podemos realizar con un script CGI, como el procesamiento de información en formularios, foros de discusión, manipulación de [...]

muy bueno el comentario, gracias

[...] de una base de datos. Los lenguajes utilizados para la generación de este tipo de páginas son: Perl CGI PHP JSP ASP Los manejadores de bases de datos que pueden trabajar con páginas dinámicas son : [...]

98