Глава 25. CGI-скрипты___________________________________587
фикатор ресурса), версия протокола и, наконец, MIME-сообщение. Сервер отвечает на запрос своим собственным сообщением, которое обычно включает версию протокола сервера, код статуса, а также другое MIME-сообщение.
Основная часть процесса общения клиент/сервер автоматически осуществляется под управлением WWW-приложения клиента (обычно это Web-браузер)и сервера. Это значительно облегчает работу, так как отпадает необходимость форматирования каждого сообщения для доступа к серверу и получения информации. Единственное, что необходимо, это иметь WWW-клиента. Однако для того, чтобы писать свои собственные CGI-скрипты, необходимо знать правила форматирования строки, содержащей MIME-тип. Эти сведения нужны для определения типа файла, посылаемого скриптом. Также необходимо знать, как получить доступ к системным переменным сервера, чтобы использовать эту информацию в своих CGI-скриптах. В следующем разделе будет изложено все необходимое для решения этих задач.
Примечание)
Если вы решили написать свою собственную программу-клиент, то необходимо заранее разобраться в деталях коммуникационного процесса клиент/сервер. Начать изучение этого вопроса можно, обратившись к документам библиотеки W3 http://www.w3.org/pub/WWW/Library/.
Использование MIME-типа выходного заголовка
Каждый документ, посылаемый CGI-скриптом серверу, как созданный скриптом "на лету", так и просто передаваемый скриптом без изменений, должен содержат выходной заголовок(output header), отражающий тип содержимого файла. В табл. 25.1 приведены примеры некоторых наиболее часто используемых MIME-типов файлов с соответствующими расширениями.
Таблица 25.1
MIME-тип | Расширения |
application/octet-stream | bin exe |
texVhtml | html htm |
text/plain | txt |
text/richtext | rtx |
video/mpeg | mpeg mpg mpe |
video/quicktime | qt mov |
video/x-msvideo | avi |
Для того чтобы помочь вам лучше понять, как правильно использовать MIME-ТИПЫ в CGI-скриптах, рассмотрим пример. Предположим, что вы