web update
deploy / Pull and Restart (push) Successful in 17s

This commit is contained in:
roma-dxunvrs
2026-10-04 19:57:51 +03:00
parent 11432e782f
commit 12a473f46e
14 changed files with 247 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
- Common Gateway Interface
- Простейший механизм вызова пользователем программ на стороне сервера
- Данные отправляются программе посредством HTTP-запроса, формируемого веб-браузером
- То, какая именно программа будет вызвана, обычно определяется [URL](../Основы/URI.md) запроса
- Каждый запрос обрабатывается отдельным процессом CGI-программы
- Взаимодействие программы с веб-сервером осуществляется через `stdin` и `stdout`
## Жизненный цикл CGI-запроса
1. Браузер присылает HTTP-запрос `POST /api/check?id=5` с телом `x=1&y=2`
2. Веб-сервер (например Apache Httpd) создает новый процесс в ОС и запускает скомпилированную программу
3. Метаданные (заголовки и тп) кладутся в переменные окружения, тело запроса отправляется в `stdin`
4. Программа выполняется как будто с ней взаимодействует пользователь в консоли
5. Веб-сервер забирает ответ из `stdout`
6. ОС убивает процесс запущенной программы
## Достоинства
- Программы могут быть написаны на множестве ЯПов
- Падение CGI-сценария не приводит к падению всего сервера
- Исключены конфликты при параллельной обработке нескольких запросов
- Хорошая поддержка веб-серверами
## Недостатки
- Высокие накладные расходы на создание нового процесса в ОС
- Плохая масштабируемость
- Слабое разделение уровня представления и бизнес-логики
- Могут быть платформо-зависимы
Как развитие - [FastCGI](FastCGI.md)