.CGI

Archivo CGI

Common Gateway Interface Script
Hacer una pregunta
RESPUESTA RÁPIDA

Un archivo CGI es un script de Common Gateway Interface (Interfaz de Entrada Común): un programa que un servidor web ejecuta para generar una página de forma dinámica (gestores de formularios, contadores, antiguos libros de visitas). Generalmente es código fuente en texto plano, casi siempre Perl o Python, por lo que se abre en cualquier editor de código para leerlo o editarlo. No se ejecuta en su navegador: para ejecutarlo, debe colocarlo en el directorio /cgi-bin/ del servidor, darle permisos de ejecución y el servidor lo ejecutará cuando un navegador solicite esa URL.

Desarrollador: NCSA / CGI community (RFC 3875 documents the interface) Categoría: Archivos ejecutables Estándar abierto MIME: application/x-httpd-cgi
SE ABRE EN Windows macOS Linux
Relacionado: .APK · .EXE · .VBS · .JAR

En esta página

19k+ extensiones indexadas
Última revisión Jul 10, 2026

¿No está seguro de qué es su archivo?

Suelte cualquier archivo en nuestro identificador - leemos solo los primeros bytes para nombrar el formato.

Identificar un archivo

¿Qué es el formato de archivo CGI?

La extensión .cgi significa Common Gateway Interface - un enfoque estándar para generar aplicaciones web y contenido dinámico en páginas web. La extensión .cgi, cuando se aplica en un servidor web, proporciona una interfaz entre los programas ejecutables y el servidor web que genera el contenido del sitio. Todos estos programas se denominan CGIs o scripts CGI.

Estos archivos se escriben generalmente utilizando un lenguaje de scripting como Perl, Python o shell script, aunque un archivo .cgi puede ser igualmente un binario compilado (por ejemplo, un programa en C). La extensión en sí no dice nada sobre el lenguaje interno; la línea shebang en la parte superior del script, como #!/usr/bin/perl o #!/usr/bin/python3, le indica al servidor web qué intérprete debe invocar.

Un script CGI se ejecuta en el servidor una vez por cada solicitud HTTP entrante. Lee los datos de la solicitud de las variables de entorno (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) y acepta los datos del cuerpo POST a través de stdin, luego escribe una respuesta HTTP -cabeceras seguidas del contenido del cuerpo- directamente en stdout. Para funcionar, el archivo debe colocarse en un directorio habilitado para CGI (tradicionalmente /cgi-bin/) y tener configurado el permiso de ejecución en el servidor.

.cgi es un estándar de interfaz, no un lenguaje de programación. Varios otros formatos de archivo comparten la extensión .cgi: los scripts .pl, .py o .sh a menudo se renombran a .cgi para que el servidor web los dirija a través del mecanismo CGI. Debido a que CGI genera un nuevo proceso para cada solicitud, es lento a gran escala y ha sido reemplazado en gran medida por FastCGI, mod_php, WSGI y servidores de aplicaciones modernos, aunque sigue siendo compatible con la mayoría de los servidores web actuales.

Seguridad y protección

RIESGO: MEDIUM

Leer un .cgi en un editor de texto es seguro - no se ejecutará al abrirse. El riesgo reside en la EJECUCIÓN en un servidor: los scripts CGI se ejecutan con los privilegios del servidor e históricamente son una superficie importante de vulnerabilidad web (el error Shellshock de 2014 se explotó en gran medida a través de scripts de shell CGI; los CGIs mal escritos permiten la inyección de comandos, el salto de directorios y la ejecución de código arbitrario). Nunca despliegue un .cgi descargado que no comprenda, mantenga los intérpretes y el servidor actualizados, restrinja los permisos de /cgi-bin/ y prefiera alternativas como FastCGI o servidores de aplicaciones para nuevos trabajos. Trate el código fuente CGI desconocido como código no confiable que debe ser revisado antes de ejecutarse.

Detalles del formato

en pocas palabras
NOMBRE COMPLETOCommon Gateway Interface Scripttambién conocido como CGI script, CGI program
DESARROLLADORNCSA / CGI community (RFC 3875 documents the interface)desde 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
TIPO MIMEapplication/x-httpd-cgi
TIPOScript ejecutable del lado del servidor (generalmente código fuente en texto plano; a veces un binario compilado)
ESTÁNDARAbierto · libre de regalías
RELACIONADO.apk.exe.vbs.jar
Esta extensión también es utilizada por…
  • EToys / datos de aplicaciones de nicho usando .cgi - Unas pocas aplicaciones no relacionadas han reutilizado .cgi para sus propios archivos de datos; en un servidor web, un .cgi es casi siempre un script de interfaz.

Programas que abren archivos CGI

Windows3 apps
Notepad Código abierto Abra el .cgi para leer/editar el código fuente con resaltado de sintaxis (Perl/Python/shell). La herramienta adecuada para inspeccionar o modificar un script.
Visual Studio Code Gratis Abra el .cgi para una edición completa con extensiones de lenguaje, linting y Git; el editor moderno para scripts web.
Apache HTTP Server (to run it) Código abierto Para EJECUTAR un CGI: colóquelo en un directorio habilitado para CGI (mod_cgi, /cgi-bin/), asegúrese de que el intérprete esté instalado y el archivo sea ejecutable, luego solicite su URL.
macOS2 apps
BBEdit Freemium Abra el .cgi para leer/editar el código fuente en macOS.
Visual Studio Code Gratis Abra el .cgi para una edición completa con extensiones de lenguaje, linting y Git; el editor moderno para scripts web.
Linux2 apps
Any text editor (gedit, Vim) Código abierto Abra el .cgi para leer/editar el código fuente del script.
The interpreter / web server Código abierto Ejecútelo directamente con su intérprete (perl script.cgi) para pruebas, o sírvalo a través de Apache mod_cgi / un servidor con capacidad CGI. Hágalo ejecutable con chmod +x.

Detalles técnicos

especificación profunda
Tipo MIMEapplication/x-httpd-cgi
Tipos MIME alternativostext/plain, application/octet-stream
Codificación de archivoTexto plano (ASCII/UTF-8) para scripts; binario nativo para ejecutables compilados
Firma de archivoSin bytes mágicos fijos - los scripts de texto comienzan con una línea shebang (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, etc.); los binarios CGI compilados llevan la cabecera ejecutable de la plataforma (ELF en Linux, MZ en Windows)
Modelo de ejecuciónEl servidor web bifurca (fork) un nuevo proceso del SO por cada solicitud HTTP para ejecutar el script o binario; el proceso finaliza después de enviar la respuesta
Mecanismo de entradaDatos de la solicitud entregados a través de variables de entorno (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, cabeceras HTTP_*); cuerpo POST pasado vía stdin
Mecanismo de salidaEl script escribe las cabeceras de respuesta HTTP (líneas Nombre: valor) seguidas de una línea en blanco y el cuerpo de la respuesta directamente en stdout
Despliegue requeridoEl archivo debe residir en un directorio habilitado para CGI (convencionalmente /cgi-bin/) con el bit de ejecución activado; el usuario del servidor web necesita permisos de lectura y ejecución
Lenguajes de scripting típicosPerl, Python, Bash/shell, Ruby, C (compilado a un binario nativo)
Tamaño de archivo típico1 KB - 100 KB para scripts de texto; mayor para binarios compilados
CompresiónNinguna dentro del propio archivo; el cuerpo de la respuesta HTTP puede ser comprimido con gzip por separado por el script o el servidor
Soporte de plataformaLinux, Unix, macOS, Windows - cualquier SO que ejecute un servidor web con capacidad CGI
Servidores web comunesApache HTTP Server, Nginx (vía wrapper FastCGI), lighttpd, Microsoft IIS
Característica de rendimientoLento a gran escala - cada solicitud genera y destruye un nuevo proceso; superado por FastCGI, WSGI y ASGI para despliegues de alto tráfico
Consideración de seguridadEl código fuente del script es legible en el disco; protéjalo con permisos de archivo estrictos y evite exponer el directorio CGI a través de una URL directa fuera de la ruta /cgi-bin/ designada
Lanzado1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Última versiónCGI/1.1 (RFC 3875, October 2004)
Estándar abiertoSí · libre de regalías
Especificaciónwww.rfc-editor.org

Conversiones de CGI

Preguntas y respuestas de la comunidad

preguntado por usuarios
Hacer una pregunta rápida
Obtenga ayuda de personas que trabajan con archivos CGI. Sea específico: incluya su sistema y la versión del software.
No se necesita cuenta · respuestas generalmente en un día

Aún no hay preguntas; sea el primero en preguntar sobre los archivos CGI.

Preguntas frecuentes

¿Qué es un archivo .cgi?
Un script de Common Gateway Interface: un programa que un servidor web ejecuta para generar una página de forma dinámica (formularios, contadores, antiguos libros de visitas). Suele ser código fuente en texto plano (a menudo Perl o Python) y se ejecuta en el servidor, no en su navegador.
¿Cómo abro un archivo .cgi?
Para leerlo o editarlo, ábralo en un editor de código (Notepad++, VS Code, BBEdit); normalmente es código fuente de texto. Para EJECUTARLO, colóquelo en el /cgi-bin/ del servidor, hágalo ejecutable y solicite su URL; los CGIs no se ejecutan haciendo doble clic.
¿Por qué mi navegador muestra el código CGI en lugar de ejecutarlo?
El servidor no está configurado para ejecutar CGI en esa ubicación: el manejo de CGI (mod_cgi) está desactivado, el directorio no está habilitado para CGI, el archivo carece de permiso de ejecución o el shebang/intérprete es incorrecto. Colóquelo en /cgi-bin/ y corrija los permisos.
¿En qué lenguaje está escrito un .cgi?
La extensión no lo indica; revise la primera línea. Un shebang como #!/usr/bin/perl, #!/usr/bin/python3 o #!/bin/sh le indica el intérprete. Algunos CGIs son binarios de C compilados en lugar de código fuente legible.
¿Se sigue utilizando CGI?
Sigue funcionando y es compatible, pero es una tecnología heredada: iniciar un proceso por solicitud es lento, por lo que la mayoría de los sitios se han movido a FastCGI, mod_php, servidores de aplicaciones WSGI/Rack y frameworks modernos. Seguirá viendo .cgi en scripts antiguos y algunos paneles de hosting.
¿Son peligrosos los archivos .cgi?
Abrir uno en un editor es seguro. Ejecutar un CGI no confiable en un servidor es riesgoso: los CGIs se ejecutan con privilegios de servidor y tienen un historial de fallos graves (por ejemplo, Shellshock). Revise cualquier CGI descargado antes de desplegarlo y mantenga su servidor actualizado.

Referencias

1RFC 3875 - The Common Gateway Interface (CGI) Version 1.1www.rfc-editor.org
2Wikipedia - Common Gateway Interfaceen.wikipedia.org

Siga explorando

en toda la base de datos

Extensiones principales esta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.BINCD/DVD Disc Image (BIN/CUE)
7.NOMEDIAAndroid No-Media Marker File
8.RPMSGRestricted Permission Message
9.MDMarkdown Document
10.TMPTemporary File

Extensiones relacionadas

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.JARJava Archive
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)

Herramientas de archivo gratuitas

Un identificador de archivos y convertidor de imágenes en el navegador - todo se ejecuta en su dispositivo.

Abrir la caja de herramientas

Explorar extensiones de archivo A-Z