Исходный каталог документов
Это каталог реальной файловой системы сервера, от которого идет вычисление пути, указанного в URL. Например, если исходным каталогом документов является D:\WWW\, то на запрос к этому серверу документа по URL
http://<имя_сервера>/index.htm
будет возвращен файл
D:\WWW\index.htm
Синонимы
В случае, когда необходимо осуществить обращение к конкретному каталогу или файлу, находящемуся вне иерархии Исходного каталога документов, используется механизм синонимов. Синоним позволяет явно определить соответствие между путем, указанным в URL, и путем локальной файловой системы.
Например:
Синонимом для /Harvest объявляется /projects/www/harvest или
синонимом для /test/myfile.html объявляется C:\MYDIR\FILE.HTM
В первом случае все обращения к файлам каталога /Harvest будут обрабатываться в каталоге /projects/www/harvest. Второй пример показывает работу синонима с конкретным файлом файловой системы.
Индексный файл
Для каждого сервера определено имя так называемого индексного файла. Обычно этот файл содержит ссылки на другие файлы данного каталога. Содержимое индексного файла выдается сервером в случае, если в URL указан каталог без конкретного файла.
Пользовательский раздел
Для многопользовательских операционных систем (таких как Unix) ПО WWW - сервера позволяет каждому пользователю предоставлять доступ к своему собственному набору гипертекстовых документов вне основной иерархии (Исходного каталога документов, Синонимов и т.д.). Этот набор документов должен находиться в собственном (т.н. "домашнем") каталоге пользователя. Для доступа к таким документам в URL перед путем ставится знак тильда и имя пользователя: ~<имя_пользователя>.
Например:
На сервере Indy.cnit.nsu.ru создан пользователь с именем fancy и "домашним" каталогом /home/fancy. Собственные гипертекстовые документы он хранит в каталоге /home/fancy/public_html. При обращении по URL http://Indy.cnit.nsu.ru/~fancy/start.html, WWW - сервер будет искать документ start.html в каталоге /home/fancy/public_html.
Протокол MIME - многоцелевое расширение электронной почты, был создан как способ передачи нетекстовой информации: изображений, звука, видео в письмах электронной почты. Механизм оказался удачным, и его перенесли и в on-line сервисы, в том числе WWW. Здесь MIME используется для передачи документов от сервера к клиенту.
В общем виде MIME основывается на передаче вместе с основными данными дополнительной информации, описывающей что это и в каком виде передается. Эта дополнительная информация называется заголовок MIME. Базовой частью заголовка является строка, описывающая тип передаваемого сообщения. Формат строки:
Content-Type: <тип_MIME>
Перечень типов MIME (т.е. видов передаваемых данных) постоянно пополняется и может быть дополнен даже пользователем для описания своего собственного вида данных. Формат типа MIME:
<Тип> / <Подтип> [ ; <параметры> ]
Где <Тип> - определяет общий тип данных:
Audio - для звуковых данных
Application - данные, являющиеся входными для какого-либо приложения (программы)
Image - для графических образов
Message - для сообщения, которое само по себе является MIME - документом
Multipart - для сообщения, состоящего из нескольких MIME - документов
Text - для текстовых данных в различном виде
Video - для видеоданных.
<Подтип> - указывает на специфический формат данных типа <Тип>
Например:
text/html - текстовые данные в формате HTML
image/giff - графические данные в формате gifF
<Параметры> - список параметров, необходимых для интерпретации данных.
Для ведения специфичной обработки файлов различных типов и форматов на клиентской и серверной частях поддерживаются списки соответствий типов MIME и расширений файлов. Формат записи такого списка:
<Тип>/<Подтип> <расширение1> ... <расширениеN>
Эти списки сопоставляют всем файлам, имеющим определенные расширения, определенные типы MIME.
Например:
image/giff gif giff
text/html html htm
В первой строке всем файлам с расширением gif и giff приписывается тип содержимого image/giff. Если для типа содержимого image/giff определены специальные правила обработки (например, отображение на экране в определенной области), то так будут обрабатываться все файлы с расширениями gif и giff.
Протокол HTTP определяет язык запросов от WWW - клиента к WWW - серверу. Сам запрос состоит из следующих компонент:
<Заголовок>
<Метод> <Источник / Данные>
где
Заголовок - определяет версию протокола HTTP и другие служебные параметры;
Метод - одно из ключевых слов:
GET - для передачи запросов на выдачу документов
PUT, POST - для передачи данных от клиента к серверу (например, из форм)
Пример запроса:
HTTP/1.1
GET /index.html
Описывает запрос на получение файла index.html из корневого каталога документов сервера.
Помимо доступа к статическим документам сервера существует возможность получения документов как результата выполнения прикладной программы. Такая возможность реализуется на сервере WWW благодаря использованию интерфейса CGI (Common Gateway Interface). Спецификация CGI описывает формат и правила обмена данными между ПО WWW сервера и запускаемой программой.
Для инициирования CGI необходимо, чтобы в запрашиваемом URL был указан путь до запускаемой программы. ПО WWW сервера исполняет эту программу, передает ей входные параметры и возвращает результаты ее работы, как результат обработки запроса, клиенту. CGI - программой может являться любая программа локальной операционной системы сервера - в двоичном виде или в виде программы для интерпретатора (Basic, SH, Perl и т.д.).
С целью облегчения администрирования CGI - программ, а также для удовлетворения требованиям безопасности CGI - программы группируются в одном или нескольких явно указанных серверу каталогах. По умолчанию это каталог cgi-bin в иерархии серверных каталогов, однако, его имя и положение могут отличаться.
Например:
клиент, обращающийся к CGI - программе test-query, будет использовать URL http://<имя_сервера>/cgi-bin/test-query
Интерфейс CGI позволяет расширить границы применения WWW - технологии. CGI - программа может обрабатывать сигналы с датчиков установок, взаимодействовать с мощным сервером баз данных, переводить и т.п. Полное описание интерфейса и требований к приложениям, использующих его, приведены в главе 4 настоящего отчета.
Apache - самый распространенный Web-сервер в мире. По данным компании Netcraft (15) общее число Web-узлов, работающих под его управлением, к концу 1998 г. достигло 2 млн. (55% общего числа узлов) и постоянно растет. Для сравнения: на долю серверов Microsoft приходится 25%, Netscape - 7%. Будучи бесплатной открытой программой, предназначенной для бесплатных же Unix-систем (FreeBCD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой конкретной системой. Существуют локализации сервера для различных языков, в том числе и для русского.
Сервер Apache имеет небольшой, но представительный набор примеров приложений, однако в его составе отсутствует хорошая документация. Продукт Apache обладает многими встроенными функциями, но поскольку объем его документации невелик, понять, как им пользоваться довольно трудно. Вследствие этого работа с сервером требует больших дополнительных затрат: получаемый бесплатно, он становится дорогим, когда вы хотите раздвинуть границы его применения.
Характеристика
Компания - The Apache Group
Продукт - Apache Web Server 1.3.14
Операционная система - OS/2, Unix, Windows, BeOS
Тип процессора - Alpha, Intel 80486, Pentium, Pentium Pro, PowerPC
Требования к памяти - ОЗУ 32 МБ
Функции регистрации:
формат CERN - нет
формат NCSA - есть
автоматическое архивирование - нет
регистрация производительности - есть
использование браузеров - есть
отчеты об использовании - нет
Защита - SHTTP, SSL
API и средства написания сценариев - Basic, CGI, JavaScript API, Java (если при компиляции были внесены изменения и добавлены модули продукта JServ )
Специальные функции:
SMP - есть
конференцсвязь - есть
передача полномочий другому Web-серверу - есть
сервер новостей - нет.
Многие Web-мастера и сетевые администраторы настроили серверы Apache под свои нужды благодаря их преимуществу - сравнительно простой архитектуре.
Начнем с того, что серверов существует множество - плохие и хорошие, медленные и быстрые... Я же выбрал сервер, подходящий под последние две категории, - Apache. Самое главное то, что это чуть ли не единственный сервер, который позволяет работать в Windows 95/98/NT с технологиями PHP, CGI и Perl-скриптами одновременно так же просто и непринужденно, как будто он стоит на Unix.
Итак, установить на компьютер Apache для Windows 95/98/NT довольно просто при наличии дистрибутива сервера. В противном случае следует запастись терпением и скачать дистрибутив сервера - файл apache_1_3_14_win32_r2.exe (3 176 975 байт) (13). Теперь самое интересное - настройка Apache.