Розширення CGI. Що таке розширення CGI-файлу? Розбір даних HTML-форм

У вас є проблема з відкриттям.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 за допомогою таких програм: 

Ми сподіваємось, що допомогли Вам вирішити проблему з файлом CGI. Якщо Ви не знаєте, де можна завантажити програму з нашого списку, натисніть на посилання (ця назва програми) - Ви знайдете докладнішу інформацію щодо місця, звідки завантажити безпечну інсталяційну версію необхідної програми.

Що ще може спричинити проблеми?

Причин того, що Ви не можете відкрити файл CGI може бути більше (не тільки відсутність відповідної програми).
По перше- файл CGI може бути неправильно пов'язаний (несумісний) із встановленим додатком для його обслуговування. У такому разі Вам необхідно самостійно змінити цей зв'язок. З цією метою натисніть праву кнопку мишки на файлі CGI, який потрібно редагувати, натисніть опцію "Відкрити з допомогою"а потім виберіть зі списку програму, яку Ви встановили. Після такої дії проблеми з відкриттям файлу CGI повинні повністю зникнути.
По-друге- файл, який Ви хочете відкрити, може бути просто пошкоджений. У такому разі найкраще буде знайти нову його версію, або скачати його повторно з того ж джерела (можливо з якогось приводу в попередній сесії завантаження файлу 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".

Метод, який використовувався для запиту. Для HTTP це "GET", "HEAD", "POST" і т.д.

Executable Path

Логічний шлях до виконуваної CGI програмі, необхідний посилання CGI програмі на себе.

Logical Path

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

Physical Path

Якщо запит містить інформацію про логічний шлях, сервер перетворює його на фізичний шлях (наприклад, шлях до файлу на диску) доступу згідно з синтаксичними правилами операційної системи.

Query String Інформація, що розміщується після? в URL, що викликається CGI програми. Сервер залишає цю інформацію без змін у тому вигляді, в якому її було розміщено в URL. Authentication Realm Якщо використовується захищений виклик CGI програми, це протокол-залежний сервіс, що використовується для автентифікації користувача. Список користувачів для одержаного виду сервісу перевіряється для автентифікації користувача.

CGI файл даних складається з наступних секцій:

Ця секція містить типи даних, що надсилаються клієнтом, знайдені в заголовку запиту у вигляді

Accept: type/subtype (parameters)

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

CGI файл даних складається з наступних секцій:

Ця секція містить параметри, специфічні для Windows реалізації CGI:

GMT Offset Кількість секунд, які потрібно додати до часу за Грінвічем для обчислення локального часу клієнта.

CGI файл даних складається з наступних секцій:

Debug Mode Цей параметр має значення "Yes", якщо увімкнено режим "CGI/script tracing" на сервері.

CGI файл даних складається з наступних секцій:

Output File Повний шлях до файлу, в який необхідно помістити дані, які сервер надсилає клієнту після завершення роботи програми.

Content File Повний шлях до файлу в якому міститься додаткова інформація, що надходить разом із запитом.

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

Якщо форма містить будь-які елементи SELECT MULTIPLE , то буде створено кілька рядків з виду "параметр = значення" з однаковим ім'ям "параметра". У цьому випадку генерує нормальний рядок "параметр=значення" для першого елемента, що зустрічається, а кожен наступний представляє у вигляді "параметр_X=значення", де "X" - лічильник, що збільшується.

CGI файл даних складається з наступних секцій:

Якщо розмір декодованого рядка перевищує 254 символи або декодований рядок містить керуючі символи, такі як переклад рядка, повернення каретки, подвійні лапки і т.д., то сервер поміщає дане значення в окремий часовий файл, а в секцію поміщає рядок у вигляді:

Параметр=шлях довжина

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

CGI файл даних складається з наступних секцій:

Якщо загальна довжина рядка з кодованими параметрами перевищує 65,535 байт, сервер не виконує декодування, а залишає даний у Content File, а в секцію поміщає рядки у вигляді:

Параметр=зміщення довжина

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

CGI файл даних складається з наступних секцій:

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

Параметр=[повний_шлях_до_файлу] довжина тип посилання [ім'я_файлу]

    де повний_шлях_до_файлу- це шлях до тимчасового файлу, що містить завантажений файл, довжина- Довжина в байтах завантаженого файлу, тип- тип MIME завантаженого файлу, посилання- спосіб кодування завантаженого файлу та ім'я файлу- Вихідна назва завантаженого файлу. Використання квадратних дужок є обов'язковим, оскільки ім'я файлу та шлях можуть містити символи пробілу.

Приклад декодованих значень форми

У цьому прикладі форма містить невелике поле, SELECT MULTIPLE з двома невеликими секціями, поле довжиною 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 програмою відповідь "як він є".

Спеціальні рядки заголовка

Сервер розпізнає наступні рядки заголовка у вихідному потоці:

Content-Type: Вказує на MIME тип тіла повідомлення. Значення цього параметра має бути у форматі type/subtype.<URI: value URI:> (value enclosed in angle brackets) Це значення вказує на повну URL-адресу або посилання на локальний файл, повідомлення з якого буде повернено клієнту в тілі повідомлення. Якщо значення є локальним файлом, сервер відсилає його як результат запиту, як клієнт скористався методом GET при генерації запиту. Якщо значення є повним URL, сервер повертає повідомлення "401 redirect" для забезпечення прямого завантаження зазначеного об'єкта.

Location: Те саме, що й URI, але ця форма зараз не використовується. Параметр

НЕ повинен бути взятий у кутові дужки.

Інші заголовки

Інші заголовки передаються клієнту у вигляді, у якому представлені.

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

- Розширення (формат) – це символи в кінці файлу після останньої точки.
- Комп'ютер визначає тип файлу саме з розширення.
- За промовчанням 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. Її відмінна особливість – наявність навігаційної панелі з деревом, що використовується для...