No es necesario ser un mago para comprender cómo solía Internet generar contenido sobre la marcha. Antes de que los marcos modernos y las aplicaciones de una sola página con mucho JavaScript tomaran el control, la columna vertebral del contenido web dinámico era CGI. Interfaz de puerta de enlace común. Suena seco. Funciona de forma sencilla.
En esencia, un script CGI es sólo un programa. Normalmente escrito en C o PERL, se encuentra en una carpeta específica del servidor, normalmente denominada cgi-bin. Cuando un navegador accede a la URL de ese script, el servidor no se limita a enviar un archivo estático. Ejecuta el programa. Todo lo que ese programa imprima en su salida estándar (STDOUT) se reenvía directamente a su navegador.
Hay una regla que no puedes romper. Lo primero que debe enviar el script es el encabezado: Tipo de contenido: texto/html\n\n. Dos nuevas líneas al final. Le indica al navegador: “Lo que sigue es HTML”. ¿Después? Todo vale. Los desarrolladores suelen enviar etiquetas HTML válidas para garantizar que la página se muestre correctamente.
Manejo de datos del formulario
¿Cómo sabe el script qué datos procesar? Proviene de un formulario HTML. Usted define un atributo “ACCIÓN” en el código del formulario que apunta a la URL del script CGI. Cuando un usuario envía el formulario, los datos viajan al script.
Luego, el guión tiene que hacer el trabajo pesado. Analiza las cadenas entrantes. Decodifica caracteres modificados (como convertir %20 nuevamente en un espacio). Un programa C simple puede manejar este análisis, aunque requiere administración manual de memoria y manipulación de cadenas.
Si usa PERL, es más fácil. La biblioteca PERL CGI abstrae la lógica de análisis confusa. Llamas a una función y los datos están listos. Está más limpio. Es más rápido escribir.
¿A dónde van los resultados?
En un tutorial, podrías simplemente imprimir los resultados en la pantalla. En un escenario del mundo real, querrás almacenar esos datos. ¿Archivos de texto? ¿Bases de datos? Ambos funcionan. Puede agregar respuestas de encuestas a un archivo de registro desde C o PERL con un código mínimo. Esa persistencia es lo que hace que CGI sea útil más allá de una simple demostración de “Hola mundo”.
El legado del CGI
Hemos cubierto los conceptos básicos de C y PERL en este contexto. Si desea profundizar en la mecánica, puede ver cómo funciona la programación C o PERL bajo el capó. O explore cómo los servidores web gestionan estas solicitudes.
Para aquellos que quieran saltarse el texto estándar, existen recursos como cgi-lib.pl. Es una biblioteca que simplifica significativamente el procesamiento PERL CGI. También está el Índice de recursos CGI para documentación e introducciones rápidas a los formularios HTML.
Es una tecnología antigua. Pero estableció el patrón de cómo los servidores se comunican con programas externos. Comprender esto le ayudará a entender la pila moderna, incluso si ahora utiliza Python o Node.js. La pregunta fundamental sigue siendo la misma: ¿cómo tomamos las aportaciones del usuario y las convertimos en una respuesta dinámica?
La respuesta comenzó con un script en una carpeta cgi-bin.


















