Форум программистов, компьютерный форум, киберфорум
Web-серверы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 07.04.2016
Сообщений: 66

Интерфейс CGI

21.01.2018, 23:34. Показов 1842. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!
Начал изучать как устроен веб-сервер и запутался в терминах.

В общем суть в следующем:
Читая о том, что такое CGI на википедии и других источниках, запутался в понятиях "шлюз, интерфейс, CGI-скрипт (сценарий), CGI-программа".
В итоге:
Как я понимаю, интерфейс - это способ взаимодействия двух объектов (например: если брать пример из реальной жизни, то способ взаимодействия человека с телевизором - это нажатие кнопок на пульте или на самом телевизоре, А если говорить о web-сервере, то интерфейс CGI - это способ взаимодействия веб-приложения с веб-сервером, в данном случае это отправка данных с помощью stdin, stdout, stderr)

А что же такое шлюз? Википедия меня натолкнула на мысль, что шлюз - это само веб-приложение (например, интерпретатор PHP выполняющий PHP-скрипты), которое использует для связи сервера интерфейс CGI, верно ли это? Если почитать другие определения шлюза (например, сетевой шлюз), то это скорее объект, который стоит между двумя другими объектами и организовывает связь между ними для передачи чего-либо.

А что же такое веб-приложение? Как мне показалось это программа интерпретатор (например PHP), которая выполняет скрипты написанные на этом языке.

Так же википедия говорит о том, что CGI-скрипт (сценарий), CGI-программа это другие названия шлюза.

Объясните мне пожалуйста, что же такоё шлюз и интерфейс в данном случае.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2018, 23:34
Ответы с готовыми решениями:

CGI-программа
Приветствую! Вопрос: возможно ли сделать чтобы по запросу со смартфона CGI-программа отправляла файл на смартфон? То есть, заходишь на...

CGI - зачем он нужен?
Доброго времени суток. Столкнулся с такой штукой как CGI - Common Gateway Interface. Пошарил и сети, нашел много и уроком и статей. Но вот...

Как XAMPP переключить на cgi-fcgi вместо apache2handler
Всем привет! Вопрос: Как изменить Интерфейс между веб-сервером и PHP у XAMPP на «cgi-fcgi» вместо «apache2handler» Причина: ...

5
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
21.01.2018, 23:41
Лучший ответ Сообщение было отмечено java_user как решение

Решение

Но в вики все же написано
CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия «скрипт» (сценарий) или «CGI-программа». По сути позволяет использовать консоль ввода и вывода для взаимодействия с клиентом.
шлюз == скрипт
интерфейс == способ взаимодействия
1
1 / 1 / 0
Регистрация: 07.04.2016
Сообщений: 66
21.01.2018, 23:58  [ТС]
Интерфейс не имеет оболочки, это просто правило, которое должен соблюдать веб-сервер и веб-приложение, для связи между ними, так?

Шлюз, скрипт, CGI-программа - это в данном случае это и есть веб-приложение?
Интерпретатор PHP - можно назвать веб-приложением (сервером-приложений) ?
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
22.01.2018, 00:34
php - это просто интерпретатор и не более. вместо него может быть хоть bash. а можно писать на компилируемых языках тогда ни какого интерпретатора не надо. можно хоть на ассемблере написать cgi-программу.
1
1 / 1 / 0
Регистрация: 07.04.2016
Сообщений: 66
22.01.2018, 00:53  [ТС]
Я это понимаю, просто привел пример с PHP.
Меня больше интересует вопрос, что такое шлюз в данном случае, а именно, что это за объект на сервере. Либо это веб-приложение (сценарий, скрипт, программа, как там еще можно назвать файлы написанные на PHP, например: login.php), либо это сервер-приложений (в роли которого, как раз выступает этот самый интерпретатор PHP, или Perl, не важно...), либо шлюз это не существующий объект, в общем говоря: интерфейс CGI и выступает в роли этого самого шлюза.

Что именно из этого верно?


Просто на википедии написано:
CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия «скрипт» (сценарий) или «CGI-программа». По сути позволяет использовать консоль ввода и вывода для взаимодействия с клиентом.

Это определение наталкивает на мысль, что сам скрипт (login.php), это и есть шлюз, потому, что он работает через CGI интерфейс.

А вот на сайте php.su (http://www.php.su/learnphp/cgi/?interface):
Интерфейс CGI выполняет функции шлюза между различными программами, установленными на web-сервере, и браузерами пользователей.

А вот тут совсем другое написано.

Поэтому я и запутался в этом.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
23.01.2018, 00:51
Лучший ответ Сообщение было отмечено java_user как решение

Решение

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

Если речь идет о php, то веб-сервер будет взаимодействовать с php-cgi. А php-cgi в свою очередь будет выполнять скрипт, переданный в переменной среде SCRIPT_FILENAME (или что-то похожее, точно не помню), например login.php
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2018, 00:51
Помогаю со студенческими работами здесь

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

Запуск CGI вне cgi-bin и запуск index.cgi
Никак не получается сделать настройку 1) Запуск CGI-программ ВНЕ /cgi-bin/ 2) Запуск index.cgi в директории /cgi-bin/ если в URL нет...

Ошибка 500 cgi, нужно запустить батник через cgi
Apache на Windows (!!) Если запускаю localhost/run.bat все работает исправно, скрипт простой, тестовый @echo off echo...

CGI
Настроил CGI для C++. Работает (проверил). Но решил сделать так: <VirtualHost *> ServerName example.com ServerAlias example.com ...

Запуск cgi
Добрый вечер. Хочу запустить скрипт 1.cgi , который лежит в /var/www/mydir . --->sudo gedit /etc/apache2/sites-available/default ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru