Непосредственные функции сервера. Базовые определения

Непосредственные функции сервера. Базовые определения. В простейшем случае гипертекстовый документ представляет собой совокупность файлов.

Представление этих файлов как единого документа производится броузером. По каждому файлу документа броузер делает запрос к WWW - серверу.

Таким образом, сервер не имеет представления о структуре и составе документов, он отвечает только за выдачу локальных файлов по запросам. На различных платформах, в различных операционных системах пути файлов выглядят по разному. Например D DOCUMENTS HTML INDEX.HTM - в Windows, u data www html index.html - в Unix - системах, USR WWW HTML - в NetWare и т.д. Путь файла, указываемый в URL, имеет стандартный вид имя каталога имя каталога имя файла Таким образом, в функции WWW - сервера входит преобразование адреса из внешнего единого формата в платформенно ориентированный внутренний формат.

Появляется ряд понятий, специфичных для такого преобразования, необходимых для него. 1. Исходный каталог документов Это каталог реальной файловой системы сервера, от которого идет вычисление пути, указанного в URL. Например, если исходным каталогом документов является D Documents HTML , то на запрос к этому серверу документа по URL http имя сервера index.htm будет возвращен файл D Documents HTML index.htm 1. Синонимы В случае, когда необходимо осуществить обращение к конкретному каталогу или файлу, находящемуся вне иерархии Исходного каталога документов, используется механизм синонимов.

Синоним позволяет явно определить соответствие между путем, указанным в URL, и путем локальной файловой системы. Например Синонимом для Harvest объявляется projects www harvest или синонимом для test myfile.html объявляется C MYDIR FILE.HTM В первом случае все обращения к файлам каталога Harvest будут обрабатываться в каталоге projects www harvest.

Второй пример показывает работу синонима с конкретным файлом файловой системы. 1. Индексный файл Для каждого сервера определено имя так называемого индексного файла. Обычно этот файл содержит ссылки на другие файлы данного каталога. Содержимое индексного файла выдается сервером в случае, если в URL указан каталог без конкретного файла. 1. Пользовательский раздел Для многопользовательских операционных систем таких как 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. 3.2.3 Протокол MIMEПротокол 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. 3.2.4 Протокол HTTPПротокол HTTP определяет язык запросов от WWW - клиента к WWW - серверу.

Сам запрос состоит из следующих компонент Заголовок Метод Источник Данные где Заголовок - определяет версию протокола HTTP и другие служебные параметры Метод - одно из ключевых слов GET - для передачи запросов на выдачу документов PUT, POST - для передачи данных от клиента к серверу например, из форм Пример запроса HTTP 1.1 GET index.html Описывает запрос на получение файла index.html из корневого каталога документов сервера. 3.2.5 Интерфейс CGIПомимо доступа к статическим документам сервера существует возможность получения документов как результата выполнения прикладной программы.

Такая возможность реализуется на сервере 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 настоящего отчета. 3.3 СЕРВЕР NCSAНациональный Центр по Суперкомпьютерным Приложениям NCSA Иллинойского университета стал второй организацией после ЦЕРН, интенсивно взявшейся за развитие WWW - технологии.

Семейство ПО WWW - серверов NCSA прошло длинный путь развития. Последние версии поддерживают все современные возможности, включая виртуальные узлы, управление доступом, параллельную обработку запросов и т.п. 3.3.1