.CGI

Arquivo CGI

Common Gateway Interface Script
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo CGI é um script Common Gateway Interface - um programa que um servidor web executa para gerar uma página dinamicamente (manipuladores de formulários, contadores, antigos livros de visitas). Geralmente é um código-fonte em texto simples, na maioria das vezes Perl ou Python, portanto, você pode abri-lo em qualquer editor de código para ler ou editar. Ele não roda no seu navegador: para executá-lo, você o coloca no diretório /cgi-bin/ do servidor, torna-o executável, e o servidor o executa quando um navegador solicita essa URL.

Desenvolvedor: NCSA / CGI community (RFC 3875 documents the interface) Categoria: Arquivos Executáveis Padrão aberto MIME: application/x-httpd-cgi
ABRE EM Windows macOS Linux
Relacionado: .APK · .EXE · .VBS · .JAR

Nesta página

19k+ extensões indexadas
Última revisão em Jul 10, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro CGI?

A extensão .cgi significa Common Gateway Interface - uma abordagem padrão para gerar aplicações web e conteúdo dinâmico em páginas da web. A extensão .cgi, quando aplicada em um servidor web, fornece uma interface entre programas executáveis e o servidor web que gera o conteúdo do site. Todos esses programas são chamados de CGIs ou scripts CGI.

Esses arquivos são geralmente escritos usando uma linguagem de script como Perl, Python ou shell script, embora um arquivo .cgi possa igualmente ser um binário compilado (por exemplo, um programa em C). A extensão em si não diz nada sobre a linguagem interna - a linha shebang no topo do script, como #!/usr/bin/perl ou #!/usr/bin/python3, informa ao servidor web qual intérprete invocar.

Um script CGI roda no servidor uma vez por cada requisição HTTP recebida. Ele lê os dados da requisição a partir de variáveis de ambiente (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) e aceita dados do corpo POST via stdin, então escreve uma resposta HTTP - cabeçalhos seguidos pelo conteúdo do corpo - diretamente para stdout. Para funcionar, o arquivo deve ser colocado em um diretório habilitado para CGI (tradicionalmente /cgi-bin/) e ter a permissão de execução definida no servidor.

.cgi é um padrão de interface, não uma linguagem de programação. Vários outros formatos de arquivo compartilham a extensão .cgi: scripts .pl, .py ou .sh são frequentemente renomeados para .cgi para que o servidor web os encaminhe através do mecanismo CGI. Como o CGI gera um novo processo para cada requisição, ele é lento em escala e foi amplamente substituído por FastCGI, mod_php, WSGI e servidores de aplicação modernos - embora continue sendo suportado na maioria dos servidores web hoje.

Segurança e proteção

RISCO: MEDIUM

Ler um .cgi em um editor de texto é seguro - ele não será executado ao ser aberto. O risco está na EXECUÇÃO em um servidor: scripts CGI rodam com os privilégios do servidor e historicamente são uma grande superfície de vulnerabilidade web (o bug Shellshock de 2014 foi explorado amplamente através de scripts shell CGI; CGIs mal escritos permitem injeção de comando, travessia de diretório e execução de código arbitrário). Nunca implante um .cgi baixado que você não entenda, mantenha os intérpretes e o servidor atualizados, restrinja as permissões do /cgi-bin/ e prefira alternativas como FastCGI/servidores de aplicação para novos trabalhos. Trate códigos CGI desconhecidos como código não confiável a ser revisado antes de rodar.

Detalhes do formato

em resumo
NOME COMPLETOCommon Gateway Interface Scripttambém conhecido como CGI script, CGI program
DESENVOLVEDORNCSA / 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 executável do lado do servidor (geralmente código-fonte em texto simples; às vezes um binário compilado)
PADRÃOAberto · livre de royalties
RELACIONADO.apk.exe.vbs.jar
Esta extensão também é usada por…
  • EToys / dados de apps específicos usando .cgi - Algumas aplicações não relacionadas reutilizaram .cgi para seus próprios arquivos de dados; em um servidor web, um .cgi é quase sempre um script de interface.

Programas que abrem arquivos CGI

Windows3 apps
Notepad Código aberto Abra o .cgi para ler/editar o código-fonte com realce de sintaxe (Perl/Python/shell). A ferramenta certa para inspecionar ou modificar um script.
Visual Studio Code Gratuito Abra o .cgi para edição completa com extensões de linguagem, linting e Git; o editor moderno para scripts web.
Apache HTTP Server (to run it) Código aberto Para EXECUTAR um CGI: coloque-o em um diretório habilitado para CGI (mod_cgi, /cgi-bin/), garanta que o intérprete esteja instalado e o arquivo seja executável, então solicite sua URL.
macOS2 apps
BBEdit Freemium Abra o .cgi para ler/editar o código-fonte no macOS.
Visual Studio Code Gratuito Abra o .cgi para edição completa com extensões de linguagem, linting e Git; o editor moderno para scripts web.
Linux2 apps
Any text editor (gedit, Vim) Código aberto Abra o .cgi para ler/editar o código-fonte do script.
The interpreter / web server Código aberto Execute diretamente com seu intérprete (perl script.cgi) para testes, ou sirva-o via Apache mod_cgi / um servidor compatível com CGI. Torne-o executável com chmod +x.

Detalhes técnicos

especificação profunda
Tipo MIMEapplication/x-httpd-cgi
Tipos MIME alternativostext/plain, application/octet-stream
Codificação de arquivoTexto simples (ASCII/UTF-8) para scripts; binário nativo para executáveis compilados
Assinatura de arquivoSem bytes mágicos fixos - scripts de texto começam com uma linha shebang (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, etc.); binários CGI compilados carregam o cabeçalho executável da plataforma (ELF no Linux, MZ no Windows)
Modelo de execuçãoO servidor web cria um novo processo do SO por requisição HTTP para rodar o script ou binário; o processo encerra após a resposta ser enviada
Mecanismo de entradaDados da requisição entregues via variáveis de ambiente (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, cabeçalhos HTTP_*); corpo POST passado via stdin
Mecanismo de saídaO script escreve cabeçalhos de resposta HTTP (linhas Nome: valor) seguidos por uma linha em branco e o corpo da resposta diretamente para stdout
Implantação necessáriaO arquivo deve residir em um diretório habilitado para CGI (convencionalmente /cgi-bin/) com o bit de execução definido; o usuário do servidor web precisa de permissão de leitura e execução
Linguagens de script típicasPerl, Python, Bash/shell, Ruby, C (compilado para um binário nativo)
Tamanho de arquivo típico1 KB - 100 KB para scripts de texto; maior para binários compilados
CompressãoNenhuma dentro do próprio arquivo; o corpo da resposta HTTP pode ser compactado com gzip separadamente pelo script ou servidor
Suporte de plataformaLinux, Unix, macOS, Windows - qualquer SO rodando um servidor web compatível com CGI
Servidores web comunsApache HTTP Server, Nginx (via wrapper FastCGI), lighttpd, Microsoft IIS
Característica de desempenhoLento em escala - cada requisição gera e destrói um novo processo; substituído por FastCGI, WSGI e ASGI para implantações de alto tráfego
Consideração de segurançaO código-fonte do script é legível no disco; proteja com permissões de arquivo rigorosas e evite expor o diretório CGI via uma URL direta fora do caminho /cgi-bin/ designado
Lançado1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Versão mais recenteCGI/1.1 (RFC 3875, October 2004)
Padrão abertoSim · livre de royalties
Especificaçãowww.rfc-editor.org

Conversões de CGI

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos CGI. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos CGI.

Perguntas frequentes

O que é um arquivo .cgi?
Um script Common Gateway Interface - um programa que um servidor web executa para gerar uma página dinamicamente (formulários, contadores, antigos livros de visitas). Geralmente é um código-fonte em texto simples (frequentemente Perl ou Python) e roda no servidor, não no seu navegador.
Como eu abro um arquivo .cgi?
Para ler ou editar, abra-o em um editor de código (Notepad++, VS Code, BBEdit) - normalmente é um código-fonte de texto. Para EXECUTÁ-LO, coloque-o no /cgi-bin/ do servidor, torne-o executável e solicite sua URL; CGIs não rodam ao clicar duas vezes.
Por que meu navegador mostra o código CGI em vez de executá-lo?
O servidor não está configurado para executar CGI naquele local: o manuseio de CGI (mod_cgi) está desligado, o diretório não está habilitado para CGI, o arquivo carece de permissão de execução ou o shebang/intérprete está errado. Coloque-o em /cgi-bin/ e corrija as permissões.
Em qual linguagem um .cgi é escrito?
A extensão não diz - verifique a primeira linha. Um shebang como #!/usr/bin/perl, #!/usr/bin/python3 ou #!/bin/sh informa o intérprete. Alguns CGIs são binários C compilados em vez de código-fonte legível.
O CGI ainda é usado?
Ele ainda funciona e é suportado, mas é legado: iniciar um processo por requisição é lento, então a maioria dos sites mudou para FastCGI, mod_php, servidores de aplicação WSGI/Rack e frameworks modernos. Você ainda verá .cgi em scripts antigos e alguns painéis de hospedagem.
Arquivos .cgi são perigosos?
Abrir um em um editor é seguro. Executar um CGI não confiável em um servidor é arriscado - CGIs rodam com privilégios de servidor e têm um histórico de falhas graves (ex: Shellshock). Revise qualquer CGI baixado antes de implantar e mantenha seu servidor atualizado.

Referências

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

Continue explorando

em todo o banco de dados

Principais extensões desta semana

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

Extensões 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)

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z