Як CGI-скрипти виконують код на веб-серверах

1

Загальний шлюзовий інтерфейс (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 є тригером. Висновок – це подарунок.

Чому деякі сервери досі покладаються на це? Спадщина. Стабільність. І тому що це працює. Просто. Прямо.

Якщо ви бажаєте протестувати це, знайдіть хостинг, який його підтримує. Напишіть простий сценарій. Подивіться, що станеться, коли браузер запросить його. Цикл замикається. Сторінка завантажується. Магія – це просто математика та логіка.