Cgi чем открыть. Что такое расширение файла CGI? Другие причины проблем с открытием файлов CGI

Сервер SoftExpress Group

Обзор

Большое количество World Wide Web приложений основано на использовании внешних программ, управляемых Web сервером. Использование данных программ позволяет строить Web приложения с динамически обновляемой информацией, хранящейся в базах данных или генерирующейся в зависимости от бизнес-правил решаемых задач. Для связи между Web сервером и вызываемыми программами широко используется Common Gateway Interface (CGI), имеющий реализации как для Windows-ориентированных программ, так и для приложений, функционирующих в среде Unix. Данный документ описывает Windows-модификацию интерфейса CG, иначе называемую Windows CGI интерфейсом.

Разбор данных HTML-форм

Windows CGI требует, чтобы Web сервер декодировал данные из HTML форм, если они переданы при помощи POST метода запроса. Он не требует от сервера декодирования параметров, если они переданы в качестве строки запроса ("query string"), являющейся частью URL.

Существует два способа, которыми данные из форм могут быть переданы серверу броузером: URL-Encoded Это наиболее используемый формат данных, передаваемых из форм. Содержимое полей формы выделяются из формы и передаются согласно спецификации HTML 1.0, а затем собираются в одну строку, где отделяются друг от друга символом амперсанда. Тип содержания сообщения устанавливается броузером в application/x-www-form-urlencoded . Multipart Form Data Данный формат разработан для эффективной загрузки файлов на сервер с использованием форм. Содержимое полей формы передается как многостраничное MIME сообщение. Каждое поле содержится в одной странице. Тип содержания, устанавливается броузером в multipart/form-data .

"Грамотные" серверы должны уметь обрабатывать оба типа данных из форм.

Вызов CGI программ

Сервер использует функцию CreateProcess() для вызова CGI программ. Сервер синхронизируется с CGI программой, поскольку он должен определить момент завершения CGI программы. Это достигается использованием функции Win32 WaitForSingleObject(), ожидающей получения сигнала завершения CGI программы.

Командная строка

Сервер должен вызывать CGI программу выполняя функцию CreateProcess() с командной строкой следующего формата:

WinCGI-exe cgi-data-file WinCGI-exe Полный путь к исполняемой CGI программе. Сервер не зависит от "текущего каталога" или переменной окружения PATH. Примите к сведению, что "исполняемая" не обязательно означает.EXE файл. Это может быть документ, ассоциирующийся с реально исполняемой программой, описанной в WIN.INI или System Registry. cgi-data-file Полный путь к .

Метод вызова

Сервер использует CreateProcess() для запуска процесса, не имеющего главного окна. Вызванный процесс не будет отображаться каким либо образом на мониторе сервера.

Некоторые сервера поддерживают режим отладки CGI программ и скриптов, что позволяет серверу запускать CGI программу как обычный процесс с созданием главного окна и отображением информации на мониторе сервера. Данный способ весьма удобен на стадии отладки CGI программ.

CGI файл данных

Сервер передает данные CGI программам через Windows "private profile" afqk, в формате "параметр-значение" (windows INI файл). CGI программа может прочитать данный файл и получит все данные, передаваемые ей из формы, а также автоматически генерируемые броузером данные.

CGI файл данных состоит из следующих секций:

Секция

Данная секция содержит большинство специфических CGI параметров (тип доступа, тип запроса, дополнительные заголовки, определенные в других секциях и т.п.). Каждое значение представлено в виде символьной строки. Если значение является пустой строкой, значит данный параметр был опущен. Список параметров данной секции представлен ниже:

Request Protocol

Название и модификация информационного протокола, использованного для передачи данного запроса. Формат: протокол/модификация. Пример: "HTTP/1.0".

Request Method

Метод, который использовался для данного запроса. Для HTTP это "GET", "HEAD", "POST" и т.д.

Executable Path

Логический путь к исполняемой CGI программе, необходимый для ссылки CGI программе на саму себя.

Logical Path

Запрос также может указывать к ресурсам, необходимым для выполнения данного запроса. Данный параметр содержит путь в том виде, который был получен сервером без мэпирования его на физический путь на диске.

Physical Path

Если запрос содержит информацию о логическом пути, сервер преобразует его к физическому пути (например, к пути к файлу на диске) доступа согласно синтаксическим правилам операционной системы.

Query String Информация, размещающаяся после? в URL вызываемой CGI программы. Сервер оставляет эту информацию без изменений в том виде, в котором она была помещена в URL. Request Range Byte-range спецификация получаемая вместе с запросом (если есть). Смотри текущий Internet Draft (или RFC), описывающий расширение HTTP для получения более полной информации. Сервер должен поддерживать работу CGI программ в byte-ranging. Referer URL документа, содержащего ссылку на данную CGI программу. Надо заметить, что некоторые броузеры закрывают данную возможность и не дают ее использовать. From E-mail адрес пользователя броузера. Надо заметить, что данный параметр присутствует с спецификации HTTP, но не используется большинством броузером из соображений секретности. User Agent Строка, описывающая программное обеспечение броузера. Не генерируется большинством броузеров. Content Type Данный параметр содержит MIME-тип данных, посланных клиентом вместе с полями из формы, если эти данные были посланы. Формат: type/subtype. Content Length Для запросов, с которыми посланы дополнительные данные в это поле заносится длина посланных данных в байтах. Content File Для запросов, содержащих дополнительные данные, посланные пользователем, этот параметр содержит имя файла, в которое WEB-сервер записывает эти данные. В дальнейшем, пользовательская программа может считать эти данные. Параметр содержит полный путь к файлу данных. Server Software Название и версия серверного программного обеспечения, обработавшего запрос и вызвавшего CGI-программу. Формат: name/version. Server Name Сетевое имя сервера или псевдоним, необходимый для ссылающихся на себя URL Этот параметр (в комбинации с параметром ServerPort) может быть использован для вычисления полного URL к серверу. Server Port Номер порта, по которому работает сервер. Server Admin E-mail адрес администратора сервера. Данный параметр необходим для генерации сообщений об ошибках и отправки данных сообщений администратору сервера или для генерации форм с URL "mailto:". CGI Version Версия спецификации CGI. Формат: CGI/версия. Для данной версии, "CGI/1.2 (Win)". Remote Host Сетевое имя хоста клиента, если доступно. Данный параметр может быть использован для опознавание клиента. Remote Address Сетевой (IP) адрес клиента. Данный параметр может быть использован для проверки пользователя если отсутствует сетевое имя. Authentication Method Если используется защищенный вызов CGI программы, это протокол-зависимый метод аутентификации, используемый для аутентификации пользователя. Authentication Realm Если используется защищенный вызов CGI программы, это протокол-зависимый сервис, используемый для аутентификации пользователя. Список пользователей для полученного вида сервиса проверяется для аутентификации пользователя. Authenticated Username Если используется защищенный вызов CGI программы, это имя пользователя, которое клиент использует для аутентификации при доступе к CGI-программе.

Секция

Данная секция содержит типы данных, посылаемых клиентом, найденные в заголовке запроса в виде

Accept: type/subtype {parameters}

Если данные параметры присутствуют (например, "q=0.100") , они передаются как значения параметра Accept. Для каждого типа передаваемых данных заводится свой параметр Accept.

Секция

Данная секция содержит параметры, специфические для Windows реализации CGI:

GMT Offset Количество секунд, которое необходимо добавить к времени по Гринвичу для вычисления локального времени клиента. Debug Mode Данный параметр имеет значение "Yes" если включен режим "CGI/script tracing" на сервере. Output File Полный путь к файлу, в который необходимо поместить данные, отсылаемые сервером клиенту после завершения работы программы. Content File Полный путь к файл у в котором содержится дополнительная информация, поступающая вместе с запросом.

Секция

Данная секция содержит "дополнительные" заголовки, которые включены в запрос в виде "параметр=значение". Сервер должен раскодировать как параметр, так и его значение прежде чем они будут помещены в файл данных CGI.

Секция

Если запрос от клиента пришел в виде HTTP POST из HTML формы (с типом содержимого application/x-www-form-urlencoded или multipart/form-data), то сервер раскодирует данные из формы и поместит их в секцию .

Для URL-кодированных данных формы, строка передаваемых параметров выглядит как "параметр=значение&параметр=значение&...", где значения находятся в url-кодированном формате. Сервер разделяет "параметр=значение" по символу "&", затем разделяет собственно "параметр" и "значение", декодирует "значение" и помещает результат в виде "параметр=раскодированное_значение" в секцию .

Для многостраничных данных строка данных представляется в многостраничном MIME формате, где каждое поле представлено как отдельная часть (файл). Сервер декодирует имена и значение каждой части и размещает их в формате "параметр=значение" в секции .

Если форма содержит какие-либо элементы SELECT MULTIPLE , то будет создано несколько строк с вида "параметр=значение" с одинаковым именем "параметра". В этом случае генерирует нормальную строку "параметр=значение" для первого встречающегося элемента, а каждый следующий представляет в виде "параметр_X=значение", где "X" - увеличивающийся счетчик.

Секция

Если размер декодированной строки превышает 254 символа или декодированная строка содержит управляющие символы, такие, как перевод строки, возврат каретки, двойные кавычки и т.д., то сервер помещает данное значение в отдельный временный файл, а в секцию помещает строку в виде:

Параметр=путь длина

где путь - это полный путь и имя временного файла, содержащего декодированное значение параметра, а длина - длина в байтах этого файла.

Секция

Если общая длина строки с кодированными параметрами превышает 65,535 байт, то сервер не выполняет декодирование, а оставляет данный в Content File, а в секцию помещает строки в виде:

Параметр=смещение длина

где смещение - это смещение от начала Content File по которому находится требуемый параметр, а длина - длина в байтах значения выбранного параметра. Вы можете использовать смещение для выполнения поиска начала значения выбранного вами параметра и использовать длину для чтения значения выбранного параметра. Не забывайте, что если параметр закодирован, то вам необходимо раскодировать его перед использованием.

Секция

Если запрос пришел в виде multipart/form-data , то он может содержать один или несколько загруженных с клиента файлов. В этом случае каждый загруженный файл размещается в специальном временном файле, а в секции строки имеют тот же формат, что и секции . каждая строка параметра в этом случае выглядит так:

Параметр=[полный_путь_к_файлу] длина тип ссылка [имя_файла]

    где полный_путь_к_файлу - это путь к временному файлу, содержащему загруженный файл, длина - длина в байтах загруженного файла, тип - тип MIME загруженного файла, ссылка - способ кодировки загруженного файла и имя_файла - исходное название загруженного файла. Использование квадратных скобок обязательно, поскольку имя файла и путь могут содержать символы пробела.

Пример декодированных значений формы

В данном примере форма содержит небольшое поле, SELECT MULTIPLE с 2-мя небольшими секциями, поле длиной 300 символов, поле, содержащее специальные символы и поле длиной 230KB.


smallfield=123 Main St. #122
multiple=first selection
multiple_1=second selection


field300chars=C:\TEMP\HS19AF6C.000 300
fieldwithlinebreaks=C:\TEMP\HS19AF6C.001 43


field230K=C:\TEMP\HS19AF6C.002 276920

Обработка результата

CGI программа возвращает результат работы, отвечающий (явно или неявно) целям запроса. Сервер кодирует результат работы в соответствии со стандартом HTTP и использует HTTP для отправки результата клиенту. Это означает, что сервер добавляет необходимый HTTP заголовки в сообщение, формируемое CGI программой.

Результат работы CGI программы состоит из двух частей: заголовка и тела сообщения . Заголовок состоит из одной или более строк текста, отделенных от тела пустой строкой. Тело сообщения содержит данные, представленные в MIME формате, указанном в заголовке.

Сервер не изменяет тело документа, что означает, что сервер передает сформированный CGI программой ответ "как он есть".T

Специальные строки заголовка

Сервер распознает следующие строки заголовка в выходном потоке:

Content-Type: Указывает на MIME тип тела сообщения. Значение этого параметра должно быть в формате type/subtype . URI: <value > (value enclosed in angle brackets) Данное значение указывает на полный URL или ссылку на локальный файл, сообщение из которого будет возвращено клиенту в теле сообщения. Если значение является локальным файлом, сервер отсылает его как результат запроса, как будто клиент воспользовался методом GET при генерации запроса. Если значение является полным URL, то сервер возвращает сообщение "401 redirect" для обеспечения прямой загрузки указанного объекта. Location: То же самое, что и URI, но данная форма сейчас не используется. Параметр value НЕ должен быть взят в угловые скобки.

Другие заголовки

Другие заголовки передаются клиенту в том виде, в котором они представлены.

Прямой возврат

Сервер позволяет конечному приложению осуществлять прямой возврат результата запроса клиенту. Это осуществляется посредством включение в заголовок возвращаемого сообщения его информационного протокола. Это позволяет CGI программам формировать непосредственный ответ клиенту с указанием HTTP заголовка без предварительной обработки его сервером..

Сервер анализирует результат запроса, помещаемый CGI программой в выходной файл (Output File), и, если первая строка " HTTP/1.0 ", он предполагает, что сообщение содержит полный HTTP ответ и отсылает его клиенту без упаковки.

У вас есть проблема с открытием.CGI-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы CGI. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат.CGI?

Файловое расширение .cgi является сокращением от "Common Gateway Interface (CGI)" (Общий шлюзовой интерфейс) и обозначает тип файлов "Скрипт CGI" (.cgi ). CGI — стандартная унифицированная технология обработки данных и генерации динамического содержимого на стороне сервера, принятая во Всемирной Паутине. Хотя CGI допускает использование практически любого языка программирования, чаще всего используются языки Perl, C и Python.

Любой файл .cgi — это обычный текстовый файл, содержащий исходный код программы (скрипта) на любом из обычных языков CGI или даже на языке оболочки Unix/Linux (shell script). По умолчанию все файлы CGI-скриптов (.cgi ) помещаются в каталог "cgi-bin" в корневом каталоге веб-сервера. Расширение .cgi обрабатывается всеми CGI-совместимыми веб-серверами особым образом, при этом файлы .cgi передаются для интерпретации и исполнения соответствующему CGI-модулю сервера.



На веб-сервере файл .cgi является частью программного механизма веб-сайта, вне сервера это просто текстовый файл. Для обозначения CGI-файлов могут использоваться и другие расширения (.pl, .py), но для этого требуется индивидуальная настройка сервера. Файлы CGI-скриптов можно просматривать и редактировать в любом текстовом редакторе.

Некорректно составленные или содержащие ошибки CGI-скрипты могут представлять собой серьезную угрозу безопасности веб-сервера, поскольку именно они часто становятся мишенью атаки сетевых хакеров.

Программы для открытия или конвертации CGI файлов

Вы можете открыть файлы CGI с помощью следующих программ: 

На этой странице объясняется, как Вы можете с легкостью конвертировать a .cgi файл в PDF файл с помощью бесплатного и простого в использовании PDF24 Creator. Описанный способ конвертации является бесплатным и простым. PDF24 Creator устанавливает PDF принтер, и Вы можете распечатать Ваш.cgi файл на данном принтере, чтобы конвертировать файл в PDF.

Что необходимо для конвертации CGI файла в PDF файл или как можно создать PDF версию Вашего CGI файла

Файлы типа CGI или файлы с расширением.cgi можно легко конвертировать в PDF с помощью PDF принтера.

PDF принтер представляет собой виртуальный принтер, который можно использовать так же, как любой другой принтер. Отличием от обычного принтера является то, что PDF принтер создает PDF файлы. Вы не печатаете на физическом листе бумаги. Принтер PDF печатает содержимое исходного файла в PDF файл.

Таким образом, Вы можете создать PDF версию любого файла, который можно распечатать. Просто откройте файл с помощью ридера, нажмите кнопку печати, выберите виртуальный PDF принтер и нажмите кнопку «Печать». Если у Вас есть устройство для чтения файла CGI и если ридер может распечатать файл, то Вы можете преобразовать файл в формат PDF.

Бесплатный и простой в использовании PDF принтер от PDF24 можно загрузить с этой страницы. Просто нажмите на кнопку загрузки справа от этой статьи, чтобы загрузить PDF24 Creator. Установите это программное обеспечение. После установки Вы будете иметь новое печатающее устройство, зарегистрированное в Windows, которое можно использовать для создания PDF файлов из Вашего.cgi файла или конвертации любого другого файла с возможностью печати в формат PDF.

Вот как это работает:

  1. Установите PDF24 Creator
  2. Откройте.cgi файл с помощью ридера, который может открыть файл.
  3. Распечатайте файл на виртуальном PDF24 PDF принтере.
  4. Помощник PDF24 открывает окно, в котором Вы можете сохранять новый файл как PDF, отправлять по его email, факсу или редактировать.

Альтернативный способ того, как преобразовать CGI файл в PDF файл

PDF24 предоставляет несколько онлайн инструментов, которые могут быть использованы для создания PDF файлов. Поддерживаемые типы файлов добавляются по мере поступления и, возможно, формат файла CGI также уже поддерживается. Служба конвертации имеет различные интерфейсы. Два из них являются следующими:

Онлайн PDF Конвертер от PDF24 поддерживает множество файлов, которые могут быть преобразованы в PDF. Просто выберите файл CGI, из которого Вы хотели бы получить PDF версию, нажмите кнопку «конвертировать», и Вы получите PDF версию файла.

Существует также E-Mail PDF Конвертер от PDF24, который также может быть использован для преобразования файлов в формат PDF. Просто отправьте по электронной почте сообщение в службу E-Mail PDF Конвертера, прикрепите CGI файл к этому письму, и через несколько секунд Вы получите PDF файл обратно.

- Расширение (формат) - это символы в конце файла после последней точки.
- Компьютер определяет тип файла именно по расширению.
- По умолчанию Windows не показывает расширения имен файлов.
- В имени файла и расширении нельзя использовать некоторые символы.
- Не все форматы имеют отношение к одной и той же программе.
- Ниже находятся все программы с помощью которых можно открыть файл CGI.

Одна из лучших программ создания веб аппликаций для WEB 2.0 разработчиков. Включает в себя удобный и простой интерфейс работы, удобные редакторы HTML, PHP, Ruby, CSS, Python и JavaScript, поддерживает HTML5, имеет встроенный Дебагер, с широким спектром возможностей, поддержка различных браузеров, таких как Mozilla Firefox, Opera, Google Chrome, Internet Explorer и Safari, оперативно поддерживает все новые технологии, такие как Adobe AIR и даже разработка под IPhone 5. Справочная система довольно богатая и без сомнений это правильный выбор для любого разработчика. Программа работает на платформе Eclipse и имеет массу плагинов чт...

PSPad – весьма полезный редактор программного кода, подходящий для программистов-кодеров, которые пишут на нескольких языках. Подойдёт тем, кому нужна подсветка программного кода. Может легко заменить популярные инструменты. PSPad докажет свою ценность при работе с синтаксисом сложного кода. Он был создан, чтобы помочь всем типам пользователей. Программа поставляется с впечатляющим списком шаблонов. Есть функции, как подсветка синтаксиса, записи макросов либо поиск и функция замены, которые являются общими для подобных приложений. Он поставляется с редактором HEX, клиентом FTP, так что пользователь может редактировать код прямо...

В интернете очень много программ, позволяющих редактировать исходный код другой программы, файла и др. Однако большинство из подобных программ являются всего лишь текстовым редактором наподобие блокнота. Отличаются они от вышеуказанного редактора лишь тем, что имеют подсветку синтаксиса. Однако в некоторых случаях, такого функционала программы оказывается недостаточно. Программисту бывает необходимо быстро находить различные части документа. И вот, наконец-то, в появилась программа, позволяющая решить эту проблему. Программа называется SynWrite. Её отличительная особенность – наличие навигационной панели с деревом, котор...