Общий шлюзовой интерфейс (Common Gateway Interface, CGI) — это старый стандарт, но он по-прежнему работает в фоновом режиме, обеспечивая функционирование веба. Большинство серверов следуют жесткому правилу для этого механизма. Вы создаете специальную папку. Ее имя всегда cgi-bin. Это не просто название папки. Это команда.
Когда вы видите эту директорию в корневом дереве сервера, программное обеспечение понимает строгую границу. Файлы внутри не просто читаются. Они выполняются.
Подумайте о том, что происходит, когда браузер запрашивает файл в этой зоне. Сервер не отправляет сырой код на ваш экран. Он запускает программу. Затем он берет то, что эта программа выводит, и отправляет это вам. Выводом является страница, которую вы видите.
Исполняемый код обычно представляет собой одну из двух вещей. Скомпилированный бинарный файл. Что-то, созданное компилятором C. Или скрипт на PERL. PERL занимает большую долю в этой области. Он популярен для CGI-скриптинга, потому что очень легко обрабатывает текст.
Представьте себе это. Вы вводите URL-адрес в адресную строку браузера.
https://www.howstuffworks.com/cgi-bin/search.pl
Сервер видит этот путь. Он распознает, что search.pl находится внутри папки cgi-bin. Поэтому он выполняет скрипт PERL. Скрипт запускается. Он генерирует вывод. Этот вывод возвращается в ваш браузер. Вы никогда не видите код. Вы видите только результат.
Можете ли вы создать свой собственный? Да. Но вам нужны две вещи. Во-первых, вы должны знать такой язык, как C или PERL. Во-вторых, вам нужен доступ.
Если вы платите за услугу веб-хостинга, у вас, вероятно, уже есть эта возможность. Свяжитесь со своим провайдером. Обычно они по умолчанию включают поддержку CGI-скриптов.
Что, если вы не платите за хостинг? Вы можете установить веб-сервер на своем собственном компьютере. Это сложнее. Вам придется возиться с файлами конфигурации. Но вы научитесь гораздо быстрее, чем просто читая об этом.
Сервер выполняет программу в cgi-bin и отправляет вывод в браузер. Это разделение скрывает код от пользователя.
Эта настройка важна, потому что она позволяет создавать динамический контент. Статический HTML скучен. Он не меняется. CGI-скрипты позволяют серверу генерировать страницы на лету. Вы запрашиваете данные. Скрипт получает их. Сервер отправляет их.
Большинство современных приложений теперь используют другие методы. API. Фреймворки. Но CGI является фундаментом. Он научил веб общаться с кодом.
Вам не нужно осваивать PERL, чтобы понять это. Просто знайте, что когда вы переходите по этому URL-адресу, что-то выполняется в фоновом режиме. Директория cgi-bin является триггером. Вывод — это подарок.
Почему некоторые серверы до сих пор полагаются на это? Наследие. Стабильность. И потому, что это работает. Просто. Прямо.
Если вы хотите протестировать это, найдите хостинг, который его поддерживает. Напишите простой скрипт. Посмотрите, что произойдет, когда браузер запросит его. Цикл замыкается. Страница загружается. Магия — это просто математика и логика.























