CGI (acrónimo en inglés para interfaz de puerta de enlace común), en portugués, una interfaz de puerta de entrada común. Interfaz: Elemento que proporciona una conexión física o lógica entre dos sistemas o partes de un sistema que no podría conectarse directamente.
Teniendo en cuenta la velocidad con la que ocurren las innovaciones, CGI puede considerarse antigua, teniendo en cuenta la creación de la computadora puede decirse que es en la mediana edad.
En 1993, el equipo del Centro Nacional para las Aplicaciones de Supercomputación (NCSA) escribió una especificación para llamar a los ejecutables de línea de comandos en la lista de correo electrónico www-voltal. Sin embargo, NCSA no aloja la especificación.
Otros desarrolladores han adoptado la especificación y desde entonces ha sido un estándar para los servidores web. Un grupo presidido por Ken Coar comenzó un trabajo en noviembre de 1997 para obtener la definición de NCSA más definida formalmente. Este trabajo dio como resultado RFC3875, que especifica la versión CGI 1.1. Se mencionan expresamente en el RFC los siguientes contribuyentes:
Rob McCool (autor de NCSA HTTPD Web Server) John Franks (autor de Web Server Gn) Ari Lotonen (desarrollador de servidor web de CERN HTTPD) Tony Sanders (autor de Plexus Web Server) George Phillips (mantenimiento del servidor web en la Universidad de Columbia Británica).
Como alternativa, puede considerar:
cd /usr/lib/cgi-bin apt install apache2
a2enmod cgid
a2enmod rewrite
systemctl restart apache2
nano /etc/apache2/mods-available/cgi.load
nano /etc/apache2/mods-enabled/cgi.load
nano /etc/apache2/mods-enabled/mime.conf

En general, el servidor HTTP tiene un directorio (carpeta), que se designa como una colección de documentos (archivos), que se puede enviar a los navegadores web vinculados a este servidor. CGI extiende este sistema, lo que permite al propietario del servidor web designar un directorio dentro de la recopilación de documentos que contiene scripts ejecutables (o archivos binarios) en lugar de páginas prescritas, esto se conoce como directorio CGI.
cd /usr/lib/cgi-bin
Estructura general de los scripts CGI: • Lectura y decodificación de datos (y/o campos de información de un paquete HTTP); • procesamiento de datos (registrar información sobre bases de datos, realizar cálculos, recuperar datos); • Creación de una página web con los resultados producidos.
Ejemplos de procesamiento de datos de solicitud de CGI enviado a través de formularios;
Servir como una interfaz con las bases de datos, convertir la transacción HTML a SQL y formatear a HTML las respuestas obtenidas, luego envió los resultados al cliente;
http://54.174.113.206/cgi-bin/index.sh