Что такое Common Gateway Interface (CGI)?
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 Программирование на С, меня очень смущает. "в С«Серьезно? Я не знаю, что сказать. Я просто растерялся».в С«?? Это все меняет. Программа должна быть скомпилирована и выполнена. Это полностью меняет мое представление о веб-программировании. Когда я компилирую? Как исполняется программа (потому что это будет машинный код, поэтому он должен выполняться как независимый процесс). Как он взаимодействует с веб-сервером «IPC» и взаимодействует со всеми серверами (в моем примере MATLAB и MySQL) с помощью программирования сокетов? Я потерян !!
Люди говорят, что CGI устарела и больше не используется. Это так? Какое последнее обновление?
Однажды я столкнулся с ситуацией, когда мне пришлось предоставить HTTP-запросу PUT доступ к веб-серверу (Apache HTTPD). Это длинная спина. Итак, насколько я помню, это то, что я сделал:
Отредактировал файл конфигурации Apache HTTPD, чтобы указать веб-серверу передавать все запросы HTTP PUT некоторымput.php
(Я должен был написать этот скрипт PHP)
Реализуйте put.php для обработки запроса (сохраните файл в указанном месте)
Люди говорили, что я написал CGI Script. Серьезно, я понятия не имел, о чем они говорили.
Я действительно написал CGI Script?Надеюсь, вы поняли, в чем заключается мое замешательство. (Потому что я сам не знаю, где я запутался). Я прошу вас, ребята, сделать ваш ответ максимально простым. Я действительно не могу понять любую причудливую техническую терминологию. По крайней мере, в этом случае.
РЕДАКТИРОВАТЬ:
Я нашел этот удивительный урок"Программирование CGI - это просто!" - CGI Tutorial, который объясняет понятия всамый простой Возможный путь. После прочтения этой статьи вы можете прочитатьНачало работы с CGI-программированием на C дополнить ваше понимание реальными примерами кода. Я также добавил эти ссылки к этому руководству в статью Википедии:http://en.wikipedia.org/wiki/Common_Gateway_Interface