CGI - це загальний інтерфейс шлюзу. Як видно з назви, це "загальний" інтерфейс шлюзу для всього. Це так банально і наївно від імені. Я відчуваю, що я це зрозумів і відчував це кожен раз, коли стикався з цим словом. Але, чесно кажучи, я цього не зробив. Я все ще плутаюсь.
Я PHP-програміст із досвідом веб-розробки.
запит користувача (клієнта) для сторінки ---> веб-сервер (-> вбудований інтерпретатор PHP) ----> скрипт на стороні сервера (PHP) ---> сервер MySQL.
Тепер скажіть, що мій PHP-скрипт може отримати результати з MySQL-сервера та сервера MATLAB та якогось іншого сервера.
Отже, тепер PHP-скрипт - це CGI? Тому що його інтерфейс між веб-сервером та усіма іншими серверами? Не знаю. Іноді вони називають CGI, технологію та інше, коли вони називають CGI програмою чи іншим сервером.
Що саме таке CGI?
У чому велика справа
/cgi-bin/*.cgi
? Що з цим? Я не знаю, для чого цейcgi-bin
каталог на сервері. Я не знаю, чому вони мають розширення * .cgi.Чому Перл завжди заважає. CGI & Perl (мова). Я також не знаю, що з цими двома. Майже весь час чую ці двоє у поєднанні "CGI & Perl". Ця книга є ще одним чудовим прикладом програмування CGI за допомогою Perl . Чому б не "Програмування CGI за допомогою PHP / JSP / ASP"? Я ніколи не бачив таких речей.
Програмування CGI на C , мене дуже бентежить. " в С " ?? Серйозно ?? Я не знаю, що сказати. Я просто розгублений. " в С " ?? Це все змінює. Програму потрібно скласти та виконати. Це повністю змінює мій погляд на веб-програмування. Коли я компілюю? Як програма виконується (оскільки це буде машинний код, тому вона повинна виконуватись як самостійний процес). Як він спілкується з веб-сервером? IPC? і взаємодія з усіма серверами (на моєму прикладі MATLAB & MySQL) за допомогою програмування сокет? Я загубився!!
Люди кажуть, що CGI застаріла і більше не використовується. Невже це так? Яке останнє оновлення?
Одного разу я зіткнувся з ситуацією, коли мені довелося надати HTTP PUT запиту доступ до веб-сервера (Apache HTTPD). Його довга спина. Отже, наскільки я пам’ятаю це те, що я зробив:
Відредагував файл конфігурації Apache HTTPD, щоб сказати веб-серверу передавати всі запити HTTP PUT деяким
put.php
(мені довелося написати цей скрипт PHP)Реалізуйте put.php для обробки запиту (збережіть файл у вказаному місці)
Люди сказали, що я написав сценарій CGI. Серйозно, я не мав поняття, про що вони говорять.
- Я справді писав сценарій CGI?
Я сподіваюся, ви зрозуміли, в чому моя плутанина. (Тому що я сам не знаю, де я плутаюся). Я прошу вас, хлопці, зберігати свою відповідь якомога простіше. Я справді не можу зрозуміти жодної фантазійної технічної термінології. Принаймні, не в цьому випадку.
Редагувати:
Я знайшов цей дивовижний підручник "Програмування CGI просто!" - Підручник з CGI , який пояснює поняття найпростішим можливим способом. Прочитавши цю статтю, ви можете прочитати Початок роботи з програмуванням CGI в C, щоб доповнити своє розуміння фактичними зразками коду. Я також додав ці посилання до цього підручника до статті Вікіпедії: http://en.wikipedia.org/wiki/Common_Gateway_Interface