Tabla de contenido:
- Definición: ¿Qué significa la interfaz de puerta de enlace común (CGI)?
- Techopedia explica la interfaz de puerta de enlace común (CGI)
Definición: ¿Qué significa la interfaz de puerta de enlace común (CGI)?
Common Gateway Interface (CGI), en el contexto del desarrollo web, es una interfaz para ejecutar ejecutables a través de un servidor web. En la mayoría de los casos, esto significa tomar una solicitud HTTP y pasarla a una aplicación para entregar una página HTML generada dinámicamente a un navegador. Si bien casi cualquier programa que pueda ejecutarse en un servidor web se puede usar como un script CGI, Perl es el lenguaje más popular.
El estándar para CGI se define en RFC 3875.
Techopedia explica la interfaz de puerta de enlace común (CGI)
En los primeros días del desarrollo web, CGI era una de las pocas formas de proporcionar interactividad en una aplicación web. Era más común en Apache, pero los puertos se hicieron para ejecutar CGI en IIS también.
El uso más común de CGI es usar lenguajes de secuencias de comandos, por lo que es común referirse a esto como ejecutar una secuencia de comandos CGI. Los programas y scripts CGI generalmente se recopilan en una carpeta llamada / cgi-bin /.
La principal desventaja de CGI es que cada carga de página incurre en gastos generales al tener que cargar los programas en la memoria. Los datos no pueden almacenarse fácilmente en la memoria caché entre cargas de página. Debido a esta desventaja, muchos desarrolladores se han mudado a servidores de aplicaciones que siguen ejecutándose. Sin embargo, existe una enorme base de código existente, gran parte de ella en Perl. Los defensores de CGI argumentan que es simple, estable y una buena opción para ciertas aplicaciones, especialmente cuando se trata de tareas en las que Perl sobresale, como el manejo de texto. Las soluciones alternativas también evitan cargar en el tiempo de ejecución de Perl o PHP para cada solicitud al incluir el tiempo de ejecución en el servidor web (mod_perl y mod_php en Apache) u otras soluciones como FastCGI (procesos separados que manejan múltiples solicitudes).