Глава 25. CGI-скрипты____________________________________583
Одним из вариантов решения такой проблемы, предложенным разработчиками первых Web-серверов, было построение уникального интерфейса для каждого внешнего приложения, от которого клиенты захотели бы получать информацию. Трудно себе представить, что удалось бы запрограммировать сервер для обеспечения интерактивного взаимодействия со всеми известными приложениями и затем добавлять соответствующий интерфейс для каждого нового разработанного приложения. Излишне говорить, что это невозможно. В конце концов, был предложен лучший вариант решения проблемы.
Разработчики предвидели возникновение проблемы и предложили ее решение, создав CGI (Common Gateway Interface — Общий интерфейс шлюза). Шлюз предусматривает единое окружение и набор протоколов для внешних приложений, взаимодействующих с Web-сервером. Таким образом, любое инженерное приложение (в том числе, и ваше собственное)может использовать CGI для обеспечения интерфейса между приложением и сервером. Это значительно расширяет диапазон возможностей Web-сервера, включая те свойства, которыми обладает потенциально неограниченное число внешних приложений.
Как работает CGI?
Теперь, ознакомившись с некоторыми проблемами и возможными путями их разрешения, вы, в общем, представляете, для чего нужен CGI. Следующим шагом изучения CGI является ознакомление с основами его работы. Чтобы помочь достичь цели в процессе изучения, последующий материал разбит автором на следующие разделы:
+ Общая схема работы CGI
+ Характерные особенностиCGI
+ MIME-тип файла
+ Системные переменные
Общая схема работы CGI
CGI представляет собой общий интерфейс, который используется сервером для обеспечения взаимодействия с любым приложением, за исключением браузера. Таким образом, CGI-скрипты играют роль связующего звена между приложением и сервером, а сервер, в свою очередь, отвечает за получение информации от браузера и отсылки ему данных.
(Примечание^)
Необходимо знать, что термин "программа"используется многими людьми для обозначения достаточно большого, обычно откомпилированного, кода или приложения, написанного на языке типа С или C++. Соответственно, термин "скрипт"используется для обозначения короткого, некомпилированного кода, написанного на