Использование технологий WWW для доступа к базам данных

Стандартный вывод


СGI - модуль выводит

информацию в стандартный выходной поток. Этот вывод может представлять

собой или документ, сгенерированный cgi-модулем, или инструкцию серверу, где получить необходимый документ. Обычно cgi-модуль

производит свой вывод. Преимущество такого подхода в том, что

cgi-модуль не должен формировать полный HTTP заголовок

на каждый запрос.

Заголовок выходного потока

В некоторых случаях необходимо избегать обработки сервером вывода cgi-модуля, и посылать клиенту данные без изменений. Для отличия таких cgi-модулей, CGI требует, чтобы их имена начинались на nph-. В этом случае

формирование синтаксически правильного ответа клиенту cgi-модуль берет на себя.

Заголовки с синтаксическим разбором

Вывод cgi-модуля должен начинаться

с заголовка содержащего определенные строки и завершаться двумя

символами CR(0x10).



Любые строки не являющиеся директивами сервера, посылаются непосредственно

клиенту. На данный момент, CGI спецификация определяет три директивы

сервера:

Content-type

MIME или тип возвращаемого документа

Например:

Content-type: text/html <CR><CR>

сообщает серверу, что следующие за этим сообщением данные - есть документ в формате HTML

Location

указывает серверу, что возвращается не сам документ, а ссылка на него

Если аргументом является URL, то сервер передаст указание клиенту

на перенаправление запроса. Если аргумент представляет собой виртуальный

путь, сервер вернет клиенту заданный этим путем документ, как

если бы клиент запрашивал этот документ непосредственно.

Например: Location:

http://host/file.txt приведет к тому, что WWW сервер выдаст file.txt, как если бы он был затребован клиентом. Если cgi-модуль возвращает ссылки на gopher сервер, например на gopher://gopher.ncsa.uiuc.edu/. Вывод будет следующий:

Location: gopher://gopher.ncsa.uiuc.edu/

*Status

задает серверу HTTP/1.0 строку-статус, которая будет послана клиенту в формате: nnn xxxxx

где: nnn - 3-х цифровой код статуса

ххххх - строка причины

Например: HTTP/1.0 200 OK

Server: NCSA/1.0a6

Content-type: text/plain

<динамически генерируемый текст сообщения>

В данном случае, клиенту будет сообщено об успешном выполнении запроса.



Содержание раздела