Interfaz de Entrada Común


En informática , Common Gateway Interface ( CGI ) es una especificación de interfaz que permite a los servidores web ejecutar un programa externo, normalmente para procesar las solicitudes de los usuarios. [1]

Dichos programas a menudo se escriben en un lenguaje de secuencias de comandos y se conocen comúnmente como secuencias de comandos CGI , pero pueden incluir programas compilados. [2]

Un caso de uso típico ocurre cuando un usuario web envía un formulario web en una página web que usa CGI. Los datos del formulario se envían al servidor web dentro de una solicitud HTTP con una URL que indica un script CGI. Luego, el servidor web inicia el script CGI en un nuevo proceso informático y le pasa los datos del formulario. La salida de la secuencia de comandos CGI, generalmente en forma de HTML , es devuelta por la secuencia de comandos al servidor web, y el servidor la retransmite al navegador como respuesta a la solicitud del navegador. [3]

Desarrollado a principios de la década de 1990, CGI fue el primer método común disponible que permitió que una página web fuera interactiva. Aunque todavía está en uso, CGI es relativamente ineficiente en comparación con las tecnologías más nuevas y ha sido reemplazada en gran medida por ellas. [4] [ fuente poco fiable? ]

En 1993, el equipo del Centro Nacional para Aplicaciones de Supercomputación (NCSA) escribió la especificación para llamar a los ejecutables de la línea de comandos en la lista de correo www-talk. [5] [6] [7] Los otros desarrolladores de servidores web lo adoptaron y desde entonces ha sido un estándar para los servidores web. Un grupo de trabajo presidido por Ken Coar comenzó en noviembre de 1997 para definir más formalmente la definición de CGI de la NCSA. [8] Este trabajo dio como resultado el RFC 3875, que especificaba la versión 1.1 de CGI. En el RFC se mencionan específicamente los siguientes contribuyentes: [3]

Históricamente, los programas CGI a menudo se escribían utilizando el lenguaje C. RFC 3875 "The Common Gateway Interface (CGI)" define parcialmente CGI usando C, [3] al decir que las variables de entorno "son accedidas por la rutina de la biblioteca C getenv() o la variable environ".


El logotipo CGI oficial del anuncio de especificaciones.