|
1 / 1 / 0
Регистрация: 07.04.2016
Сообщений: 66
|
|
Интерфейс CGI21.01.2018, 23:34. Показов 1842. Ответов 5
Метки нет (Все метки)
Добрый вечер!
Начал изучать как устроен веб-сервер и запутался в терминах. В общем суть в следующем: Читая о том, что такое CGI на википедии и других источниках, запутался в понятиях "шлюз, интерфейс, CGI-скрипт (сценарий), CGI-программа". В итоге: Как я понимаю, интерфейс - это способ взаимодействия двух объектов (например: если брать пример из реальной жизни, то способ взаимодействия человека с телевизором - это нажатие кнопок на пульте или на самом телевизоре, А если говорить о web-сервере, то интерфейс CGI - это способ взаимодействия веб-приложения с веб-сервером, в данном случае это отправка данных с помощью stdin, stdout, stderr) А что же такое шлюз? Википедия меня натолкнула на мысль, что шлюз - это само веб-приложение (например, интерпретатор PHP выполняющий PHP-скрипты), которое использует для связи сервера интерфейс CGI, верно ли это? Если почитать другие определения шлюза (например, сетевой шлюз), то это скорее объект, который стоит между двумя другими объектами и организовывает связь между ними для передачи чего-либо. А что же такое веб-приложение? Как мне показалось это программа интерпретатор (например PHP), которая выполняет скрипты написанные на этом языке. Так же википедия говорит о том, что CGI-скрипт (сценарий), CGI-программа это другие названия шлюза. Объясните мне пожалуйста, что же такоё шлюз и интерфейс в данном случае.
0
|
|
| 21.01.2018, 23:34 | |
|
Ответы с готовыми решениями:
5
CGI-программа CGI - зачем он нужен? Как XAMPP переключить на cgi-fcgi вместо apache2handler |
|
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
|
||
| 21.01.2018, 23:41 | ||
Сообщение было отмечено java_user как решение
Решение
Но в вики все же написано
интерфейс == способ взаимодействия
1
|
||
|
1 / 1 / 0
Регистрация: 07.04.2016
Сообщений: 66
|
|
| 21.01.2018, 23:58 [ТС] | |
|
Интерфейс не имеет оболочки, это просто правило, которое должен соблюдать веб-сервер и веб-приложение, для связи между ними, так?
Шлюз, скрипт, CGI-программа - это в данном случае это и есть веб-приложение? Интерпретатор PHP - можно назвать веб-приложением (сервером-приложений) ?
0
|
|
|
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
|
|
|
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
|
|
| 23.01.2018, 00:51 | |
|
Помогаю со студенческими работами здесь
6
Как открыть cgi файл в браузере? Почему он скачивается? Запуск CGI вне cgi-bin и запуск index.cgi Ошибка 500 cgi, нужно запустить батник через cgi CGI Запуск cgi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
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\
А в самом низу файла-профиля. . .
|