Introducción
Cuando la web site empezó a tomar forma como la conocemos hoy en día, fue gracias a métodos como el CGI, que permitió a la WWW (World Wide Web) mayor interactividad con los usuarios (entre usuario y cliente), y por supuesto un mayor intercambió de información , per se. El CGI es utilizado comúnmente para contadores, bases de datos, motores de búsqueda, formularios, generadores de email automático, chats, foros de discusión, comercio electrónico, rotadores y mapas de imágenes, juegos en línea y otros.
¿Qué es el CGI?
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.
¿CGI Script o Programa?
La diferencia es semántica. Tradicionalmente, Ejecutables compilados (binarios) se le llaman a programas, y por lo general llaman escrituras a los programas interpretados. En el contexto de CGI, la diferencia se ha hecho hasta más notoria que antes. La palabra “escritura” ‘Script` es mas favorable para los programa CGI.
Estructura de un script CGI.
L a secuencia típica de un script CGI es:
- Leer la forma de entrada del usuario.
- Hacer lo que quieras con los datos.
- Escribir la respuesta HTML a STDOUT.
¿Por qué programar en CGI?
Si usted va a crear páginas web, entonces en algún punto usted querrá añadir un contador, una forma para dejar que los visitantes le envíen mensajes o realicen un pedido, o algo similar. CGI le permite hacer esto y mucho más. De formas de correo, programas ejecutables y hasta los programas de base de datos que son más complejos y así generar websites.
¿Cuándo se necesita programar CGI?
Básicamente cualquier Webpage. El contenido de una forma requerirá una escritura CGI o el programa para tratar las entradas de forma.
Riesgos del CGI.
Cuando los usuarios envían un formulario o invocan un CGI de alguna otra forma, en definitiva se les está permitiendo ejecutar remotamente un programa en el servidor. Es más, puesto que la mayoría de CGI's aceptan datos de la entrada de usuario (bien después de rellenar un formulario o directamente desde la línea de URL), en esencia se les brinda a los usuarios la oportunidad de controlar cómo se ejecutará el CGI, de manera que podrían intentar la introducción de una serie de parámetros inesperados hábilmente manipulados para que el CGI funcionase maliciosamente.
Conclusiones.
CGI cambio la forma de manipular información en la web.
La tecnología CGI corre en el servidor cuando el usuario la necesita, por lo que es dependiente del servidor y no de la computadora del usuario.
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.
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 perl de distribución gratuita, aunque también podemos mencionar: C, C++ y Java.
CGI no es un lenguaje. Es simplemente un protocolo que puede ser usado para comunicarse entre formas Web y tu programa. Un script CGI puede ser escrito en cualquier lenguaje que pueda leer de STDIN, escribir en STDOUT, y leer variables de entorno como virtualmente cualquier lenguaje de programación, incluyendo C, Perl, o incluso scripts de shell.
Bibliografía
1. Christian Van Der Henst S. (2001) ¿Qué es el CGI?. Documento en línea disponible: http://www.maestrosdelweb.com/editorial/cgiintro/ (consulta: 2006, Julio 22).
2. Gonzalo Marañon. (1998). Riesgos de CGI. Documento en línea disponible: http://www.iec.csic.es/criptonomicon/cgi/riesgos.html (consulta: 2006, Julio 22).
3. James Marshall (1998). El CGI Hecho Realmente Fácil. Documento en línea disponible: http://www.jmarshall.com/easy/cgi/spanish/ (consulta: 2006, Julio 22).
4. Jacqueline Hamilton. Learn CGI Today!. Documento en línea disponible: http://www.cgi101.com/book/ (consulta: 2006, Julio 23)
5. Nick Kew (2000). CGI Programing FAQ. Documento en línea disponible: http://www.htmlhelp.com/faq/cgifaq.html (consulta: 2006, Julio 23)
Infografía
1. Altavista.com
¿Qué es el CGI? Por Christian Van Der Henst S. (23/03/2001)
http://www.maestrosdelweb.com/editorial/cgiintro/
(consulta: 2006, Julio 22)
2. Starmedia.com
Riesgos de CGI. Por Gonzalo Marañón. (1997-1998)
http://www.iec.csic.es/criptonomicon/cgi/riesgos.html
consulta: 2006, Julio 22)
3. Yahoo.com
El CGI Hecho Realmente Fácil. Por James Marshall (18/04/1998)
http://www.jmarshall.com/easy/cgi/spanish/
(consulta: 2006, Julio 22)
4. Hotbot.com
CGI Programming FAQ. Por Nick Kew (2000).
http://www.htmlhelp.com/faq/cgifaq.html
consulta: 2006, Julio 23)
5. Ask.com
Learn CGI Today!. Por Jacqueline Hamilton.
http://www.cgi101.com/book/
(consulta: 2006, Julio 23)