CGI - это общий интерфейс шлюза. Как следует из названия, это «общий» интерфейс шлюза для всего. Это так тривиально и наивно от названия. Я чувствую, что понял это, и чувствовал это каждый раз, когда сталкивался с этим словом. Но, честно говоря, я этого не сделал. Я все еще в замешательстве.
Я программист PHP с опытом веб-разработки.
запрос пользователя (клиента) на страницу ---> веб-сервер (-> встроенный интерпретатор PHP) ----> Серверный сценарий (PHP) ---> MySQL Server.
Теперь предположим, что мой PHP Script может получать результаты с сервера MySQL, сервера MATLAB и другого сервера.
Итак, теперь PHP Script является CGI? Потому что его интерфейс для веб-сервера и всех других серверов? Я не знаю. Иногда они называют CGI, технологию, а иногда называют CGI программой или каким-то другим сервером.
Что именно CGI?
В чем дело
/cgi-bin/*.cgi
? Что с этим? Я не знаю, для чего этотcgi-bin
каталог на сервере. Я не знаю, почему у них есть расширения * .cgi.Почему Perl всегда мешает. CGI & Perl (язык). Я также не знаю, что случилось с этими двумя. Я почти все время слышу эти два в сочетании "CGI & Perl". Эта книга является еще одним отличным примером программирования CGI с использованием Perl . Почему бы не "CGI Программирование с PHP / JSP / ASP"? Я никогда не видел таких вещей.
CGI Programming in C , меня сильно смущает. " в C " ?? Шутки в сторону?? Я не знаю, что сказать. Я просто запутался. " в C " ?? Это меняет все. Программа должна быть скомпилирована и выполнена. Это полностью меняет мой взгляд на веб-программирование. Когда я собираю? Как выполняется программа (потому что это будет машинный код, поэтому он должен выполняться как самостоятельный процесс). Как это общается с веб-сервером? IPC? и взаимодействие со всеми серверами (в моем примере MATLAB & MySQL) с помощью программирования сокетов? Я потерялся!!
Люди говорят, что CGI устарела и больше не используется. Это так? Какое последнее обновление?
Однажды я столкнулся с ситуацией, когда мне пришлось предоставить HTTP-запросу PUT доступ к веб-серверу (Apache HTTPD). Это длинная спина. Итак, насколько я помню, это то, что я сделал:
Отредактировал файл конфигурации Apache HTTPD, чтобы веб-сервер передавал все запросы HTTP PUT некоторым
put.php
(мне пришлось написать этот PHP-скрипт)Реализуйте put.php для обработки запроса (сохраните файл в указанном месте)
Люди говорили, что я написал CGI Script. Серьезно, я понятия не имел, о чем они говорили.
- Я действительно написал CGI Script?
Надеюсь, вы поняли, в чем заключается мое замешательство. (Потому что я сам не знаю, где я запутался). Я прошу вас, ребята, сделать ваш ответ максимально простым. Я действительно не могу понять любую причудливую техническую терминологию. По крайней мере, в этом случае.
РЕДАКТИРОВАТЬ:
Я нашел этот удивительный урок "CGI Programming Simple!" - CGI Tutorial , которая объясняет понятия в простейшем виде. После прочтения этой статьи вы можете прочитать статью « Начало работы с CGI-программированием на C», чтобы дополнить свое понимание реальными примерами кода. Я также добавил эти ссылки к этому руководству в статью Википедии: http://en.wikipedia.org/wiki/Common_Gateway_Interface