CGI-программы создаются посредством CGI. Код программы пишется, как правило, на языке описания сценариев Perl. Perl является интерпретируемым языком, интерпретатор которого соответствует операционной системе. Передача данных от сервера к программе CGI осуществляется сервером через командную строку и переменные окружения. Таким образом, сервер через общий шлюзовой интерфейс запускает программу CGI и пересылает ей вводимые пользователем данные. Сами данные вводятся через так называемые формы HTML. Форма представляет собой гипертекстовую страницу с одним или несколькими полями данных и специальной кнопкой для передачи введенной информации. Как и код любого гипертекстового документа, код формы начинается с тэга FORM ACTION = /CGI-BIN/begin.PL и заканчивается тэгом /FORM. ACTION. Аргумент ACTION — это URL программы CGI, т.е. /CGI-BIN/begin.PL. METHOD — метод, используемый для запроса данных. Этот параметр задает режим передачи данных из формы в программу CGI. Основные режимы передачи — GET, HEAD и POST. Программа CGI должна поддерживать один из этих режимов, иначе обработки данных не произойдет. В режиме GET данные входят через URL в строку запроса. Например, если программа обработки данных begin.PL лежит в каталоге CGI-BIN, то запрос HTML пойдет на сервер через ACTION следующим образом: FORM ACTION=/CGI-BIN/begin.PL METHOD=GET Теперь сервер знает, где находится программа begin. PL, поэтому он ее запустит в режиме GET. Программы CGI получают данные от переменных окружения и посылают выходные данные через общий шлюзовой интерфейс обратно пользователю. Например, после ввода тэга A HREF=begin.html на сервер пойдет запрос GET /begin.html. Заголовок GET определяет получение документа begin.html в корневом каталоге сервера. Глава 6. Проектирование структуры сайта Несмотря на то что многие программы — генераторы страниц и сайтов — предлагают готовые шаблоны, разработка структуры сайта, а особенно структуры веб-издания — задача, которую должны решать сами разработчики проекта, не перекладывая ее ни на веб-дизайнера, ни тем более на провайдера. Готовым шаблонам также доверять не стоит. Правильная организация структуры сайта является одним из главных условий успеха проекта. Это следует из того, что структура информации, а не сама информация в большей степени определяет коммуникативные возможности проекта, т.е. качество информации. От структуры зависят также удобство навигации и легкость дизайна редакции сайта, его пополнения и добавления разделов. При этом организация навигации зависит не непосредственно от физической структуры узла, а только опосредованно. В этом смысле структура достаточно универсальна, переносима и масштабируема. Перечислим базовые структуры узлов и рассмотрим, когда их предпочтительнее использовать. — 262 —
|