ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Interfaz de entrada común wiki: info, historia y vídeos

videos internet

salud  Interfaz de entrada común 


Para otros usos de las iniciales «CGI», véase CGI.

Interfaz de entrada común (en inglésCommon Gateway Interfaz, abreviado CGI) es una esencial tecnología de la WWW que deja a un usuario (navegador de internet) pedir datos de un programa ejecutado en un servidor web. CGI detalla un estándar para trasferir datos entre el usuario 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 activo para las páginas. En una aplicación CGI, el servidor web pasa las peticiones del cliente del servicio a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, si bien por razones de portabilidad se acostumbran a utilizar lenguajes de script. La salida de tal programa es mandada al usuario en vez del fichero estático tradicional.


CGI ha hecho posible la implementación de funciones nuevas y variadas en las webs, de tal modo que esta interfaz velozmente se volvió un estándar, siendo incorporada en todo género de servidores web.



Forma de actuación de CGI


A continuación se describe la manera de actuación de un CGI de forma esquemática:



  1. En primera instancia, el servidor recibe una solicitud (el cliente del servicio ha activado un URL que contiene el CGI), y verifica si se trata de una invocación de un CGI.
  2. Posteriormente, el servidor prepara el ambiente para ejecutar la aplicación. Esta información procede mayoritariamente del cliente del servicio.
  3. Seguidamente, el servidor ejecuta la aplicación, capturando su salida estándar.
  4. A continuación, la aplicación efectúa su función: a consecuencia de su actividad se marcha produciendo un objeto MIME que la aplicación escribe en su salida estándar.
  5. Finalmente, cuando la aplicación concluye, el servidor manda la información producida, así como información propia, al usuario, que se hallaba en estado de espera. Es responsabilidad de la aplicación anunciar el género de objeto MIME que se produce (campo CONTENT_TYPE).

Programación de un CGI


Un programa CGI puede ser escrito en cualquier lenguaje de programación que genere un fichero ejecutable. Entre los lenguajes más frecuentes se encuentran: C, C++, Perl, Java, Visual Basic... Sin embargo, debido a que el CGI recibe los factores en forma de texto va a ser útil un lenguaje que deje efectuar manipulaciones de las cadenas de caracteres de una manera fácil, como por servirnos de un ejemplo Perl. Perl es un lenguaje interpretado que deja manipulaciones fáciles de archivos y textos, como la extracción y manipulación de cadenas de caracteres, unidas a unas buscas veloces y simples.


Intercambio de información: Variables de entorno


Los siguientes datos son las variables de ambiente que pasan por los programas CGI:



  • Variables concretas del servidor:
  • Variables concretas de la petición:SERVER_PROTOCOL — versión HTTP.SERVER_PORT — Puerto TCP.REQUEST_METHOD — nombre del procedimiento HTTP.PATH_INFO — sufijo de la senda.PATH_TRANSLATED — corresponde a la senda completa del servidor, si PATH_INFO está presente.SCRIPT_NAME — senda relativa al programa. Ejemplo: /cgi-bin/script.cgi.QUERY_STRING — la una parte del URL tras el carácter ?. la cadena de consulta puede estar compuesta de *nombre=valor separados por el carácter ep (ejemplo: var1=val1&var2=val2…) que se usa para mandar datos de un formulario web utilizando el procedimiento GET.REMOTE_HOST — nombre del host del clienteREMOTE_ADDR — dirección IP del cliente del servicio.AUTH_TYPE — género de identificación.REMOTE_USER variable utilizada para determinados géneros de autentificación (AUTH_TYPE).REMOTE_IDENT — variable para identificar ciertas conexiones TCP.CONTENT_TYPE — género de contenido de la aplicación.CONTENT_LENGTH — tamaño de los datos de entrada.Las variables que pasan por el agente de usuario del usuario (HTTP_ACCEPT, HTTP_ACCEPT_LANGUAGE, HTTP_USER_AGENT, HTTP_COOKIE etcétera) poseen valores de sus pertinentes cabeceras HTTP con lo que sus datos no cambian.

Tipos frecuentes de CGI



  1. Contador de accesos: Cuenta el número de veces que se ha pedido una página determinada. Se guarda el valor en un archivo. Toda vez que se invoca se acrecienta, para su siguiente visualización.
  2. Buscador: Encuentra páginas que contengan los términos concretados. Emplea una tabla que cuenta las palabras y para cada una detalla las páginas donde se halla.
  3. Correo: Consigue información estructurada del usuario.
  4. Contribuciones: Deja agregar links o bien anotaciones a una página, señalando la procedencia de la adición.
  5. Estadísticas de uso: Presenta información sobre los sucesos producidos en el servidor de WWW. El servidor sostiene un registro (log) de los sucesos que se han producido.
  6. Administración recóndita del servidor: Deja interaccionar con el servidor desde WWW. Invoca los programas que controlan o bien alteran el comportamiento del servidor.

Escenario de activación de un CGI



  1. Situación inicial: El cliente del servicio pide la invocación de un CGI, bien de forma involuntaria (se manda solamente información de cabecera) o de forma explícita (formulario). En el formulario hay parejas del tipo variable=valor. El procedimiento de HTTP concretado en el formulario puede ser GET o bien POST.En el servidor en cambio, el fichero de configuración detalla un directorio cgi-bin con capacidad para ejecutar programas. Puede haber otros archivos y otros programas a los que puede acceder tanto el servidor como sus CGIs.
  2. El cliente del servicio pulsa el botón de tipo SUBMIT en el formulario: En dependencia del procedimiento se edifica un mensaje que contiene la información del formulario en la cabecera (para GET) o bien en el cuerpo del mensaje (para POST).El mensaje se manda al servidor, agregando información propia del usuario que el propio navegador conoce. El usuario queda a la espera de percibir un objeto MIME como contestación del servidor.
  3. El servidor recibe el mensaje de solicitud o bien pone en marcha el programa CGI: El servidor equipara la información del mensaje con la que conoce de su archivo de configuración, determinando de esta forma la valía de la solicitud. Realmente el servidor se pregunta: ¿Existe esta URL? ¿Se tienen todos y cada uno de los permisos?.Prepara el ambiente agregando información propia a la comunicada por el navegador del usuario. Si es GET, la información procedente del formulario (parejas variable=valor) se definen en QUERY_STRING. El servidor más tarde pone en funcionamiento el CGI. Si se trata de POST, la información se pone en la entrada estándar del CGI. Por último se empieza la ejecución del CGI y el servidor espera a que esta acabe.
  4. Ejecución del CGI: El CGI accede a las variables de ambiente. Verifica o bien amolda el funcionamiento conforme el procedimiento GET o bien POST establecido en REQUEST_METHOD: si se tratase de GET, la información va a estar en QUERY_STRING, al tiempo que si se trata de POST, se va a tomar la entrada estándar.

Se edifica un objeto MIME que se mandará al cliente del servicio. La primera escritura va a deber anunciar el género de objeto: CONTENT_TYPE: tipo/subtipo.



  1. El servidor vuelve al trabajo: El servidor agrega a su contestación del CGI una cabecera señalando su tamaño (CONTENT_LENGTH).
  2. El cliente del servicio recibe la respuesta: Interpretación de la contestación. Visualización con el navegador.

Véase también



  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Interfaz de entrada común wiki: info, historia y vídeos

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas