.CGI

Файл CGI

Common Gateway Interface Script
Задать вопрос
БЫСТРЫЙ ОТВЕТ

Файл CGI - это скрипт Common Gateway Interface - программа, которую веб-сервер выполняет для динамической генерации страницы (обработчики форм, счётчики, старые гостевые книги). Это обычно исходный текст, чаще всего на Perl или Python, поэтому вы можете открыть его в любом редакторе кода для чтения или редактирования. Он не выполняется в браузере: чтобы запустить его, поместите его в каталог сервера /cgi-bin/, сделайте его исполняемым, и сервер выполнит его, когда браузер запрашивает этот URL.

Разработчик: NCSA / CGI community (RFC 3875 documents the interface) Категория: Исполняемые файлы Открыть стандартное MIME: application/x-httpd-cgi
ОТКРЫВАЕТСЯ НА Windows macOS Linux
Связанные: .APK · .EXE · .VBS · .JAR

На этой странице

Проиндексировано расширений: 19k+
Последняя проверка: Jul 10, 2026

Не знаете, что это за файл?

Перетащите любой файл в наш идентификатор - мы прочитаем первые байты, чтобы определить формат.

Идентифицировать файл

Что такое формат файла CGI?

Расширение .cgi означает Common Gateway Interface - стандартный подход к генерации веб-приложений и динамического контента на веб-страницах. Расширение .cgi на веб-сервере обеспечивает интерфейс между исполняемыми программами и веб-сервером, который генерирует содержимое сайта. Все такие программы называются CGI или CGI-скриптами.

Эти файлы обычно пишутся с использованием скриптового языка, такого как Perl, Python или shell-скрипт, хотя файл .cgi может быть и скомпилированным двоичным файлом (например, программа на C). Расширение само по себе ничего не говорит о языке внутри - строка shebang в самом верху скрипта, например #!/usr/bin/perl или #!/usr/bin/python3, сообщает веб-серверу, какой интерпретатор вызвать.

Скрипт CGI выполняется на сервере один раз на каждый входящий HTTP-запрос. Он считывает данные запроса из переменных окружения (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) и принимает данные тела POST через stdin, а затем записывает HTTP-ответ - заголовки, за которыми следует тело ответа - непосредственно в stdout. Чтобы работать, файл должен находиться в каталоге, поддерживающем CGI (традиционно /cgi-bin/), и иметь установленное разрешение на выполнение.

.cgi - это стандарт интерфейса, а не язык программирования. Несколько других форматов файлов используют расширение .cgi: .pl, .py или .sh-скрипты часто переименовываются в .cgi, чтобы веб-сервер перенаправлял их через механизм CGI. Поскольку CGI создает новый процесс для каждого запроса, он медленный на масштабах, и в основном был вытеснен FastCGI, mod_php, WSGI и современными серверами приложений - хотя он по-прежнему поддерживается на большинстве веб-серверов сегодня.

Безопасность и защита

РИСК: MEDIUM

Чтение .cgi в текстовом редакторе безопасно - он не запустится от простого открытия. Риск заключается в ВЫПОЛНЕНИИ на сервере: скрипты CGI выполняются с привилегиями сервера и исторически являются большой поверхностью веб-уязвимостей (уязвимость Shellshock 2014 года эксплуатировалась в основном через CGI-скрипты оболочки; плохо написанные CGIs позволяют внедрение команд, обход путей и произвольное выполнение кода). Никогда не развертывайте скачанный .cgi, который вы не понимаете, держите интерпретаторы и сервер в актуальном состоянии, ограничивайте разрешения /cgi-bin/ и для новых работ предпочитайте альтернативы FastCGI/серверов приложений. Относитесь к неизвестному исходному коду CGI как к ненадёжному коду, который нужно проверить перед запуском.

Детали формата

в двух словах
ПОЛНОЕ НАЗВАНИЕCommon Gateway Interface Scriptтакже известен как CGI script, CGI program
РАЗРАБОТЧИКNCSA / CGI community (RFC 3875 documents the interface)с 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
MIME-ТИПapplication/x-httpd-cgi
ТИПСерверный исполняемый скрипт (обычно исходный текст; иногда скомпилированный двоичный файл)
СТАНДАРТОткрытый · без роялти
СВЯЗАННЫЕ.apk.exe.vbs.jar
Это расширение также используется в…
  • EToys / нишевые данные приложений с использованием .cgi - Несколько не связанных приложений переиспользовали .cgi для своих файлов данных; на веб-сервере .cgi почти всегда является скриптом-шлюзом.

Программы, открывающие файлы CGI

Windows3 apps
Notepad Открытый код Откройте .cgi, чтобы прочитать/отредактировать исходный код с подсветкой синтаксиса (Perl/Python/shell). Правильный инструмент для проверки или изменения скрипта.
Visual Studio Code Бесплатно Откройте .cgi для полного редактирования с расширениями языка, линтингом и Git; современный редактор для веб-скриптов.
Apache HTTP Server (to run it) Открытый код Чтобы ВЫПОЛНИТЬ CGI: поместите его в каталог, поддерживающий CGI (mod_cgi, /cgi-bin/), убедитесь, что интерпретатор установлен и файл исполняемый, затем запросите его URL.
macOS2 apps
BBEdit Freemium Откройте .cgi, чтобы прочитать/отредактировать исходный код на macOS.
Visual Studio Code Бесплатно Откройте .cgi для полного редактирования с расширениями языка, линтингом и Git; современный редактор для веб-скриптов.
Linux2 apps
Any text editor (gedit, Vim) Открытый код Откройте .cgi, чтобы прочитать/отредактировать исходный код скрипта.
The interpreter / web server Открытый код Запустите напрямую с его интерпретатором (perl script.cgi) для тестирования или обслужите его через Apache mod_cgi / сервер, поддерживающий CGI. Сделайте его исполняемым с помощью chmod +x.

Технические подробности

глубокая спецификация
MIME-типapplication/x-httpd-cgi
Альтернативные MIME-типыtext/plain, application/octet-stream
Кодировка файлаПростой текст (ASCII/UTF-8) для скриптов; собственный двоичный формат для скомпилированных исполняемых файлов
Сигнатура файлаНет фиксированных magic bytes - текстовые скрипты открываются со строкой shebang (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh и т.д.); скомпилированные двоичные файлы CGI содержат заголовок исполняемого файла платформы (ELF в Linux, MZ в Windows)
Модель выполненияВеб-сервер создаёт новый процесс ОС на каждый HTTP-запрос для запуска скрипта или двоичного файла; процесс завершается после отправки ответа
Механизм вводаДанные запроса передаются через переменные окружения (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, заголовки HTTP_*); тело POST передаётся через stdin
Механизм выводаСкрипт записывает заголовки HTTP-ответа (строки Имя: значение), за которыми следует пустая строка и тело ответа непосредственно в stdout
Необходимые условия развертыванияФайл должен находиться в каталоге, поддерживающем CGI (по соглашению /cgi-bin/), с установленным битом выполнения; пользователю веб-сервера нужны права на чтение и выполнение
Типичные скриптовые языкиPerl, Python, Bash/shell, Ruby, C (скомпилированный в собственный двоичный файл)
Типичный размер файла1 КБ - 100 КБ для текстовых скриптов; больше для скомпилированных двоичных файлов
СжатиеОтсутствует внутри самого файла; тело HTTP-ответа может быть отдельно сжато gzip скриптом или сервером
Поддержка платформыLinux, Unix, macOS, Windows - любая ОС, запускающая веб-сервер, поддерживающий CGI
Популярные веб-серверыApache HTTP Server, Nginx (через обёртку FastCGI), lighttpd, Microsoft IIS
Характеристика производительностиМедленный на масштабах - каждый запрос создаёт и уничтожает новый процесс; вытеснен FastCGI, WSGI и ASGI для высоконагруженных развертываний
Вопросы безопасностиИсходный код скрипта читаем на диске; защищайте строгими правами доступа к файлам и не exposing каталог CGI через прямой URL вне указанного пути /cgi-bin/
Выпущен1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Последняя версияCGI/1.1 (RFC 3875, October 2004)
Открыть стандартноеДа · без роялти
Спецификацияwww.rfc-editor.org

Конвертации CGI

Вопросы и ответы сообщества

спрошено пользователями
Задать быстрый вопрос
Получите помощь от людей, работающих с файлами CGI. Будьте конкретны - укажите вашу систему и версию ПО.
Аккаунт не нужен · ответы обычно в течение дня

Вопросов пока нет - станьте первым, кто спросит о файлах CGI.

Часто задаваемые вопросы

Что такое файл .cgi?
Скрипт Common Gateway Interface - программа, которую веб-сервер выполняет для динамической генерации страницы (формы, счётчики, старые гостевые книги). Это обычно исходный текст (часто Perl или Python) и выполняется на сервере, а не в браузере.
Как открыть файл .cgi?
Чтобы прочитать или отредактировать его, откройте его в редакторе кода (Notepad++, VS Code, BBEdit) - это обычно исходный текст. Чтобы ЗАПУСТИТЬ его, поместите его в каталог сервера /cgi-bin/, сделайте его исполняемым и запросите его URL; CGI не запускаются двойным щелчком мыши.
Почему браузер показывает код CGI вместо его выполнения?
Сервер не настроен на выполнение CGI в этом месте: обработка CGI (mod_cgi) отключена, каталог не поддерживает CGI, у файла нет разрешения на выполнение или строка shebang/интерпретатор неверны. Поместите его в /cgi-bin/ и исправьте разрешения.
На каком языке написан файл .cgi?
Расширение не говорит об этом - проверьте первую строку. Строка shebang, такая как #!/usr/bin/perl, #!/usr/bin/python3 или #!/bin/sh, подскажет вам интерпретатор. Некоторые CGI - это скомпилированные двоичные файлы C вместо читаемого исходного кода.
CGI всё ещё используется?
Он всё ещё работает и поддерживается, но это устаревший метод: запуск процесса на каждый запрос медленный, поэтому большинство сайтов перешли на FastCGI, mod_php, WSGI/Rack-серверы приложений и современные фреймворки. Вы всё ещё можете встретить .cgi в старых скриптах и некоторых панелях хостинга.
Файлы .cgi опасны?
Открытие файла в редакторе безопасно. Запуск ненадёжного CGI на сервере рискован - CGI выполняются с привилегиями сервера и имеют историю серьёзных уязвимостей (например, уязвимость Shellshock). Просматривайте любой скачанный CGI перед развертыванием и держите сервер в актуальном состоянии.

Ссылки

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

Узнать больше

по всей базе данных

Популярные расширения на этой неделе

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.JPGJPEG Image
5.EXEWindows Executable (Portable Executable)
6.RPMSGRestricted Permission Message
7.ICSiCalendar data file
8.PARTPartial Download File
9.JSONJavaScript Object Notation file
10.BINCD/DVD Disc Image (BIN/CUE)

Похожие расширения

.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)

Бесплатные инструменты для файлов

Идентификатор файлов и конвертер изображений в браузере - все работает на вашем устройстве.

Открыть инструменты

Обзор расширений файлов A-Z