Interfaz de entrada común (en inglés Common Gateway Interface, abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicación entre el servidor web y una aplicación externa cuyo resultado final de la ejecución son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.
Las aplicaciones CGI fueron una de las primeras prácticas de crear contenido dinámico para las páginas web. En una aplicación CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las páginas web, de tal manera que esta interfaz rápidamente se volvió un estándar, siendo implementada en todo tipo de servidores web.
A continuación se describe la forma de actuación de un CGI de forma esquemática:
Un programa CGI puede ser escrito en cualquier lenguaje de programación que produzca un archivo ejecutable. Entre los lenguajes más habituales se encuentran: C, C++, Perl, Java, Visual Basic, Cobol... No obstante, debido a que el CGI recibe los parámetros en forma de texto será útil un lenguaje que permita realizar manipulaciones de las cadenas de caracteres de una forma sencilla, como por ejemplo Perl. Perl es un lenguaje interpretado que permite manipulaciones sencillas de ficheros y textos, así como la extracción y manipulación de cadenas de caracteres, unidas a unas búsquedas rápidas y fáciles.
Los siguientes datos son las variables de entorno que pasan por los programas CGI:
Se construye un objeto MIME que se enviará al cliente. La primera escritura deberá anunciar el tipo de objeto: CONTENT_TYPE: tipo/subtipo.
Escribe un comentario o lo que quieras sobre Interfaz de entrada común (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)