Литмир - Электронная Библиотека

В качестве адреса обычно выступает имя DNS или хост–имя сервера, хотя может применяться IP–адрес. Можно использовать и другую информацию, например фактическое имя пути к файлу, к которому осуществляется доступ.

Все подключения реализуются с помощью протокола TCP. При этом по умолчанию используется порт 80.

Если на локальном компьютере установлен Web–сервер, а основная HTML–страница называется index.html, можно воспользоваться следующим URL:

http://localhost/index.html

Вообще говоря, файл index.html — это файл, загружаемый по умолчанию. (Имя файла, загружаемого по умолчанию, можно изменить с помощью файлов конфигурации сервера.) Следовательно, в этом случае можно ввести такой URL:

http://localhost/

29.4. Сценарии cgi и HTM

Когда броузер генерирует запрос на загрузку страницы, Web–сервер задается в виде входящего URL. Если в качестве части URL–пути указывается cgi‑bin, сервер открывает соединение, которое обычно реализует перенаправление к запрашиваемому cgi–сценарию. Входной и выходной поток сценария cgi отсылаются с помощью этого перенаправления. Если сценарий cgi используется для отображения форматированной Web–страницы, он должен включать теги HTML. Благодаря этому отображаемая страница может распознаваться Web–сервером, хотя при этом от пользователя потребуются некоторые познания в области HTML. Этот документ может отсылаться Web–сервером броузеру с целью отображения для пользователя. В табл. 29.1 представлены некоторые полезные теги HTML.

Таблица 29.1. Основные теги HTML, применяемые для создания страниц

<HTML></HTML>

Теги открытия и закрытия документа

<HEAD></HEAD>

Открытие и закрытие информационной области

<TITLE></TITLE>

Открытие и закрытие заголовка

<BODY></BODY>

Открытие и закрытие отображаемой страницы

<Hn></Hn> <P></P>

Заголовочный шрифт, увеличение размера шрифта Начало и конец абзаца

<BR>

Разбиение строки

<HR>

Горизонтальная линия

<PRE></PRE>

Открытие и закрытие предварительно отформатированного текста, всех символов табуляции, всех сохраненных строк

<B></B>

Полужирный стиль символов

<!></!>

Курсив

<OL></OL>

Сортированные списки

<A HREF=url>link</A>

Гипертекстовая или горячая ссылка на страницу или URL

<FORM></FORM>

Определение формы

METHOD

Метод post или get

ACTION

Адрес

<INPUT…>

Запись данных

NAME

Имя переменной

SIZE

Ширина текстового поля, заданная в символах

TYPE

Флажок, переключатель, кнопка восстановления или фиксации

<SELECT…>

Разворачивающееся меню

NAME

Имя переменной

SIZE

Количество отображаемых элементов списка

<OPTION VALUE>

Возврат выбранной опции переменной NAME

</SELECT>

Закрытие выбранного списка

29.4.1. Базовый сценарий cgi

Все сценарии обычно находятся в каталоге cgi‑bin Web–сервера, хотя подобное размещение может быть изменено. Для изменения размещения сценариев и подключения сервера cgi следует обратиться к файлам конфигурации srm.conf и разделу ScriptAlias. Все сценарии должны иметь расширение .cgi. Все документы обычно размещаются в каталоге html либо htdocs и имеют расширение .html. Для всех сценариев требуется установить следующие права доступа:

chmod 755 script.cgi

По умолчанию любые подключения к Web–странице обычно осуществляются от имени пользователя nobody, хотя это можно изменить с помощью файла конфигурации httpd.conf. Несмотря на то, что в этой главе не рассматриваются вопросы настройки Web, некоторые моменты все же стоит отметить. В частности, неплохо было бы проверить, отключено ли поле пароля "nobody". Если это так, запрещается подключение для произвольных пользователей, в то время как пользователь nobody физически подключен к терминалу. Для отключения пароля пользователя nobody в соответствующее поле пароля просто вставьте звездочку (файл пароля /etc/passwd).

Если какой‑либо из сценариев не функционирует, первым делом нужно просмотреть журнальные файлы ошибок. В этих файлах содержатся четкие описания всех возникших ошибок. Если применяется сервер apache, журнальные файлы обычно находятся в каталоге /etc/httpd/logs либо /usr/local/apache/logs, в зависимости от того, в каком месте системы устанавливается Web–сервер. Сценарии могут быть также протестированы путем выполнения их запуска из командной строки. Конечно, в этом случае вы получите только текстовый вывод, но он окажет вам помощь при дальнейшей отладке.

А теперь приступим к созданию сценария cgi. Введите указанный ниже текст в файл, назовите его test.cgi и сохраните в каталоге cgi‑bin. He забудьте установить для сценария права доступа 755.

$ pg firstpage.cgi

#!/bin/sh

#firstpage.cgi

#отображение текстовой страницы

echo "Content‑type: text/html"

echo ""

echo "<HTML>"

echo "<H1><CENTER> THIS IS MY FIRST CGI PAGE</CENTER></H1>"

echo "<HR>"

echo "<H2><CENTER>STAND‑BY TO STAHD‑TO! </CENTER></H2>"

echo "</HTML>"

В первой строке (как вы уже, наверное, знаете) указывается местоположение интерпретатора shell. Первая строка, содержащая команду echo, сообщает серверу о том, что это заголовок MIME; вторая команда echo сообщает о новой строке. Вывод сценариев cgi не будет осуществляться, если не указана новая строка после заголовка MIME.

На этом этапе отображается начальный тег <html>, информирующий броузер о том, что весь документ представлен в формате HTML. При этом могут отображаться различные символьные шрифты, размеры которых варьируются от наибольшего, <Н1>, до наименьшего — <Нn>. Обычно шрифт наименьшего размера, который хорошо различим, задается тегом <H6>. Для придания красивого внешнего вида

выполняется центрирование текста на странице. Затем отображается горизонтальная линия. В дальнейшем снова используется тег <H2> для определения размера шрифта, и тег <center> — для центрирования текста "Stand‑By To Stand‑To". Последняя строка завершается тегом <HTML>.

Если вы забудете указать какие‑либо закрывающие теги, не беспокойтесь — вы их вскоре обнаружите, поскольку при попытке загрузки в окно броузера подобного документа открывающие теги, для которых отсутствуют закрывающие, будут отображены на экране.

Теперь для отображения документа введите URL:

http://ваш_cepвep/cgi‑bin/firstpage.cgi

Вместо параметра ваш_сервер подставляется фактическое имя сервера.

Если вы работаете в сети, и при этом на экране отображается сообщение "DNS lookup failure" ("Сбой при поиске DNS"), это означает, что броузер, возможно, пытается подключиться к Internet для осуществления поиска заданной страницы. Измените параметры настройки броузера, позволяющие обойти proxy–сервер при обращении к локальным компьютерам и перезагрузите броузер.

103
{"b":"273485","o":1}