La mayoría de los servidores web se basan en un mecanismo estandarizado para ejecutar contenido dinámico. Ese mecanismo es la interfaz de puerta de enlace común, o CGI. No es magia. Es una estructura de carpetas y un conjunto de reglas que le dicen a un servidor que deje de tratar el código como texto estático y comience a tratarlo como un programa ejecutable.
La clave es un subdirectorio específico llamado cgi-bin. Cuando configura un servidor web, crea esta carpeta dentro de la raíz de su documento. El servidor está configurado para vigilar ese directorio de cerca. Cualquier archivo solicitado desde cgi-bin desencadena un comportamiento diferente al de una página HTML estándar.
En lugar de leer el archivo y enviar su contenido sin formato a su navegador, el servidor ejecuta el archivo. El resultado generado por esa ejecución es lo que realmente se entrega al cliente. Esto permite que el servidor ejecute código sobre la marcha, generando respuestas basadas en la entrada del usuario, consultas de la base de datos u otra lógica dinámica.
Los programas almacenados en este directorio suelen ser archivos binarios compilados, como los producidos por un compilador de C, o scripts interpretados. Un lenguaje domina este espacio: PERL. Ha sido la columna vertebral de las secuencias de comandos CGI durante décadas porque maneja el procesamiento de texto y la interacción con el servidor con notable facilidad.
Consideremos un ejemplo concreto. Escribe esta URL en tu navegador: https://www.howstuffworks.com/cgi-bin/search.pl.
El servidor ve el camino. Reconoce que search.pl está dentro de la carpeta cgi-bin. No te envía el código fuente. Ejecuta search.pl. El script PERL procesa la solicitud (quizás consultando un índice de búsqueda) y devuelve el resultado HTML. Su navegador muestra ese resultado. El código fuente nunca toca tu pantalla.
¿Quieres probar esto tú mismo? Es posible, pero necesitas dos cosas.
Primero, necesitas conocer un lenguaje de programación adecuado para CGI. C y PERL son los estándares tradicionales. Debe comprender cómo generar encabezados HTTP y manejar las entradas del servidor.
En segundo lugar, necesita acceso a un servidor web que admita la ejecución CGI. Si utiliza un servicio de alojamiento web pago, probablemente ya tenga esta capacidad. La mayoría de los planes de alojamiento compartido incluyen soporte CGI de forma predeterminada. Consulte la documentación de su proveedor de alojamiento para confirmar. Es posible que necesites cargar tus scripts específicamente en el directorio cgi-bin.
Si no tiene una cuenta de alojamiento, puede instalar un servidor web en la máquina de su hogar. Esto te da control total. Puedes experimentar con diferentes configuraciones y depurar errores en tiempo real. Es más complicado que utilizar un servicio alojado. Usted mismo debe administrar el software, la seguridad y los permisos del servidor. Pero la curva de aprendizaje es empinada en un sentido útil. Comprenderá exactamente cómo funciona la web bajo el capó.
Esta configuración funciona porque se le indica explícitamente al servidor que confíe y ejecute código en esa carpeta específica. Fuera de cgi-bin, el servidor trata los archivos como datos estáticos. Por dentro, son programas. Esa distinción es lo que hace posibles las aplicaciones web dinámicas.
El servidor ejecuta el programa y envía el resultado al navegador. El código fuente permanece oculto.
¿Es la forma más moderna de crear aplicaciones web? No. Los marcos modernos suelen utilizar arquitecturas diferentes. Pero CGI estableció el patrón. Demostró que los servidores podían ejecutar programas externos para generar contenido. Cada sitio dinámico que visita hoy tiene su linaje en esta simple estructura de directorio.
El límite entre contenido estático y dinámico está definido por la configuración del servidor. El **








































