GoServe


GoServe
HTTP/Gopher server
IBM EWS


GoServe -- это многоцелевой сервер для OS/2, поддерживающий протоколы HTTP и Gopher. Сам сервер разработал в рамках программы IBM EWS (IBM Employer Written Software), к которой я отношусь с определенным пиететом, известный Mike Cowlishaw -- создатель языков REXX, Object REXX и NetREXX. Целью создания GoServe было предоставить пользователям OS/2 возможность самим разворачивать на своих компьютерах сервера Internet, без погружения в тонкости реализации протоколов передачи данных. Сама по себе процедура установки сервера является относительно быстрой и легкой.

GoServe

Если протокол TCP/IP сам по себе уже настроен, GoServe может быть запущен в работу за несколько минут. Архив с GoServe включает в себя как саму программу, так и инструкции по установке и запуску вместе с рабочими примерами для WWW и для Gopher.

Принципы работы сервера

GoServe, в отличие от других известных HTTP-серверов, является двольно оригинальной программой. Когда клиент запрашивает соединение, то программа читает запрос клиента и передает его в неизменённом виде фильтру, являющемуся обычной программой на языке REXX, который обрабатывает запрос, совершает какие-либо действия и возвращает результат своей работы программе GoServe (это может быть специальная команда на отправку файла или сообщение об ошибке). Сервер передает, в свою очередь, всё что надо клиенту и закрывает соединение. Иными словами, GoServe служит как бы "посредником" между фильтром и клиентом. Использование фильтров на языке REXX придает серверу исключительную гибкость в работе -- вы можете использовать как сложные фильтры с большим количеством возможностей, так и простые фильтры "на одно действие", если вам требуется высокая скорость. В комплект поставки GoServe входит пример такого фильтра, возможностей которого зачастую вполне достаточно для большинства непритязательных администраторов.

На каждый запрос создается отдельный поток OS/2 (thread) для установления соединения, обработки запроса фильтром и ответа. GoServe берет на себя всю работу по формированию такого потока и управлению TCP/IP соединением, поэтому вам остается только модифицировать при необходимости фильтр (который, зачастую, никто попросту не изменяет) и наполнять каталог данных информацией (документами, графикой и т.д.).

GoServe разработан для эффективной работы даже на дешёвом оборудовании. Однако настройки по умолчанию предназначены скорее для большей безопасности, чем для высокой производительности. Для увеличения производительности и пропускной способности вам, скорее всего, потребуется включить кэширование команды FAIL, уменьшить значение Connection maintenance и включить отложенный аудит (далее это будет рассмотрено более подробно). Кроме того, GoServe будет работать быстрее, если запускать его минимизированным.

Установка WWW-сервера

Для работы вам потребуется последняя версия 2.52 пакета GoServe. Создайте на своем жестком диске каталог (например, C:\GoServe) и распакуйте туда следующие файлы:
 gofilter.80
 moveaud.cmd
 goserve.exe
В комплекте поставки есть и другие файлы, но я остановлюсь на их назначении позднее, после того, как мы запустим GoServe в работу.

Теперь создайте каталог, в котором будут храниться ваши HTML-документы, картинки и т.д. (например, C:\WWW). Вы можете взять за основу файлы из архива gohttp.zip. Стартовой страницей по умолчанию считается файл INDEX.HTM. Под стартовой страницей понимается файл в каталоге данных, который будет послан клиенту, если само имя файла (или ресурса -- так точнее) не указано. Например, если клиент ввёл в окне своего браузера http://www.yourdomain.ru, то ему будет послан файл C:\WWW\index.htm.

Запустим GoServe командой GOSERVE HTTP, выберем меню Options, перейдем на закладку DataDir, введем C:\WWW и нажмем кнопку Apply (если имя каталога с данными указано неверно, то оно будет выделено красным цветом). Теперь перейдем на закладку Filter. Здесь надо указать имя файла программы-фильтра (в первый раз это будет GOFILTER.80). Эта программа должна находиться в том же каталоге, что и GOSERVE.EXE, и иметь расширение, соответствующее номеру порта, на котором сервер "слушает" (для WWW это, как правило, 80-й порт, а для Gopher -- 70-й).

Вот, в принципе, и всё: GoServe готов к работе! Вы теперь можете сообщить адрес своего компьютера друзьям (или недругам) и погрузиться в изучение HTML для создания красивых документов.

Настройка GoServe

Если вы выберете меню Options, то откроется диалоговое окно настроек GoServe. В этом окне есть несколько страниц (закладок):

Параметры запуска GoServe

Все свои настройки GoServe сохраняет в файле GOSERVE.INI, который располагается в том же каталоге, что и сама программа. При желании вы можете изменить их в командной строке запуска. GoServe принимает следующие параметры: Есть еще ряд параметров командной строки, однако их описание я здесь не привожу -- всё это подробно изложено в оригинальной документации.

Применение параметров командной строки очень полезно при отладке, запуске нескольких экземпляров программы для различных нужд и др.

Другие фильтры для GoServe

Программ-фильтров для GoServe разработано довольно много. Наиболее мощным в настоящее время является SRE-http Дэниела Хеллерштейна -- один только размер архива с последней версией превышает полтора мегабайта! Я настоятельно рекомендую, после того как вы освоите GoServe, установить этот пакет и пользоваться им. Он представляет из себя полноценный HTTP/1.1 сервер с огромным количеством возможностей, во многом не уступает, а даже превосходит другие известные HTTP-сервера для OS/2.

Если вам не требуется такой "навороченный" сервер, вы не занимаетесь виртуальным хостингом, требования к управлению доступом у вас довольно умеренные, многими нововведениями HTTP/1.1 вы не пользуетесь, а вас интересует только скорость, то обратите внимание на фильтр того же автора SRE-Lite.

Timur Kazimirov


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ