Глава 18 Службы Gopher и WAIS

18.1 Введение

Система gopher была разработана в 1991 г. Центром микрокомпьютеров, рабочих станций и сетей Миннесотского университета. Сотрудники этого центра столкнулись с необходимостью обеспечить поддержку тысяч пользователей, которым понадобилась помощь в изучении компьютеров и общеуниверситетских сетевых ресурсов.

Именно эта тематика и определила основные тенденции в формировании информации службы gopher. Однако требовалось упростить студентам поиск нужного материала среди огромного объема информации. Решением этой проблемы стала служба gopher — иерархическая структура простых меню в архитектуре клиент/сервер.

Gopher обеспечивает простое перемещение в огромном объеме информации и позволяет:

■ Находить информацию на локальных сайтах

■ Обеспечивать прозрачный доступ к удаленным сайтам

■ Извлекать необходимые данные

Возможности gopher по организации и распространению информации были первоначально оценены в колледжах и университетах по всему миру. Далее службы gopher распространились и в правительственных учреждениях.

Впоследствии службы gopher были вытеснены более совершенными и мощными инструментами WWW (см. главу 19). Однако еще многие сайты обеспечивают доступ к информации через gopher. Браузеры WWW также способны обеспечивать доступ к серверам gopher, и при этом пользователи могут даже не знать о том, как это выполняется.

18.2 Применение Gopher

Лучший способ знакомства с gopher — применение этой службы на практике. Если пользователь зарегистрировался на многопользовательском хосте и может применять текстовый пользовательский интерфейс, то для запуска локального клиента gopher достаточно ввести команду gopher. На рис. 18.1 такой клиент запущен в системе tigger, и доступ производится к серверу gopher по умолчанию (в данном случае это сервер компании Global Enterprise Services).

> gopher 

Root gopher server: gopher.jvnc.net 

-> 1. About this gopher. 

  2. Search GES Gopher Tree  

  3. GES/ 

  4. Educational Services/ 

  5. Internet Resources/ 

  6. Medical Resources/ 

  7. Gophers Hosted by GES/ 

  8. Other Interesting Gophers/ 

  9. Publishers Online/ 

  10. WAIS Based Information/ 

  11. InterNIC/ 

Press ? for Help, q to Quit, u to go up a menu 

Рис. 18.1. Доступ к серверу gopher из текстового клиента

Как показано на рисунке, служба gopher выводит меню. Пункты меню могут приводить к переходу на:

■ Текстовый документ

■ Изображение

■ Следующее меню

■ Приложение для поиска

■ Сеанс telnet с приложением, расположенном на удаленном хосте

■ Другому приложению (например, FTP)

Некоторые пункты меню выполняют переход на сервер gopher или другое приложение, которые могут размещаться не на тех компьютерах, где был выполнен запуск клиента gopher.

Клиенты gopher включены в состав браузеров WWW. На сегодняшний день это наиболее популярный способ доступа к серверам gopher. На рис. 18.2 показан Netscape Navigator, выводящий то же самое меню службы gopher, что и на рис. 18.1.

Рис. 18.2. Доступ к серверу gopher из браузера

18.3 Типы информации в gopher

Пункты меню gopher могут содержать различные типы информации. Каждому типу присвоен идентификационный код. Текстовые клиенты gopher указывают на тип информации пункта меню, выводя в конце строки этого пункта специальный тег (tag). Типы, соответствующие им коды и теги перечислены в таблице 18.1. Графические клиенты gopher отображают типы информации специальными значками.


Таблица 18.1 Типы данных, коды и теги в gopher

Идентификационный код Тип Тег Комментарии
0 Файл . или пробел
1 Меню /
2 Служба телефонной книги (названа по имени организации компьютерного обслуживания Иллинойского университета — Computer Services Organization of the University of Illinois). Простое приложение для базы данных телефонных номеров, адресов электронной почты, почтовых адресов организаций и т.д.
3 Ошибка
4 Файлы Macintosh в формате BinHexed
5 Двоичные файлы PC Клиент должен выполнять операцию чтения, пока не будет закрыто соединение TCP.
6 Файлы формата uuencoded операционной системы UNIX
7 Служба индексного поиска
8 Текстовый сеанс telnet При выборе этого пункта можно получить доступ к сеансу telnet.
9 Двоичный файл Клиент должен выполнять операцию чтения, пока не будет закрыто соединение TCP.
s Звуковой файл <)>
e Событие
с Приложение для работы с календарем
T Текстовый сеанс с устройством 3270 <3270> При выборе пункта запускается сеанс с терминалом.
9 Графический файл (в формате стандарта "GIF")
I Графический файл определенного формата Способ отображения файла выбирается клиентом.
M Сообщение MIME Пустое место или
h Гипертекстовый документ World Wide Web Пустое место или

18.4 Иерархия меню Gopher

Меню gopher организовано в виде иерархического дерева. Пункт меню может указывать на следующее меню, которое, возможно, размещается на совершенно другом сайте. Листьями дерева меню являются документы и приложения.

Далее будет видно, что меню gopher реально соответствует каталогам, поэтому применение символа косой черты (/) для указания на следующее меню не случайно. Домашний каталог сервера gopher указывается в его конфигурационных параметрах загрузки. Список пунктов меню по умолчанию формируется из файлов и подкаталогов домашнего каталога сервера.

18.5 Архитектура gopher

Внутренняя структура gopher очень проста. На рис. 18.3, показано, как клиент соединяется с сервером gopher, извлекает меню или файл и закрывает соединение. Выбранный элемент выводится на монитор пользователя. При работе с меню или файлом пользователь уже не соединен с сервером.

Рис. 18.3. Клиент извлекает информацию из сервера gopher

Сервер gopher не сохраняет сведений о клиенте. Клиент соединяется с сервером и запрашивает выполнение некоторой операции. Сервер отвечает на запрос и забывает о нем. Именно это делает gopher простым для запуска и очень надежным. Кроме того, сервер gopher поддерживает одновременно значительно большее число клиентов, чем telnet или пересылка файлов. Аналогичные принципы применяются для увеличения эффективности сервера WWW.

18.6 Отличия gopher от FТР

Разработка gopher проводилась для обеспечения удобного и эффективного доступа к архивам пересылки файлов. Каждое меню gopher соответствует некоторому каталогу сервера. В каталоге имеется специальный файл, который:

■ Присваивает пунктам меню файлы или подкаталоги

■ Определяет ссылки на файлы и каталоги удаленного хоста

■ Описывает ссылки на приложения

Несколько примеров будет приведено ниже.

18.7 Протокол gopher

Сеанс gopher выполняется поверх соединения TCP. Обычно используется порт 70 и некоторые правила для соединений telnet в режиме NVT. Для получения информации с сервера клиент gopher должен:

■ Соединиться с необходимым портом хоста сервера gopher

■ Послать на сервер селекторную строку, заканчивающуюся на

Селекторная строка (selector string) определяет выбранный пользователем пункт меню или текстовый документ (а также данные другого типа, например сценарии, исполняемые программы или запросы к базам данных). Пустая селекторная строка, содержащая только , приводит к возвращению от сервера корневого меню по умолчанию.

Если сервер отошлет меню назад, клиент выводит пользователю список пунктов меню. Однако в меню содержится намного больше информации, чем просто названия пунктов. Каждый посланный сервером пункт меню состоит из последовательности полей, разделенных знаками табуляции. В этих полях содержится:

■ Тип пункта меню и его название

■ Селекторная строка, которую нужно послать на сервер, чтобы получить этот пункт меню (обычно указывается тип пункта вместе с именем файла или каталога)

■ Имя хоста, содержащего данный пункт меню

■ Номер порта для доступа к хосту

Содержимое отдельных полей можно увидеть самостоятельно. Ниже показан пример сырого, или необработанного, взаимодействия с сервером gopher компании GES. Обращение происходит по telnet к порту 70 сервера, а далее, после установки соединения, просто нажимается клавиша ENTER:

> telnet gopher.jvnc.net 70

Trying 128.121.50.10 ... Connected to nicol.jvnc.net

Escape character is '^}' .

 (Нажатие на ENTER приводит к отправке )

0About this gopher     0/0about           nicol.jvnc.net 70

7Search GES Gopher Tree   7/ts             nicol.jvnc.net 70

1GES            1/GES            nicol.jvnc.net 70

1Educational Services    1/Educational_Services    nicol.jvnc.net 70

1Internet Resources     1/Internet_Resources     nicol.jvnc.net 70

1Medical Resources     1/Medical_Resources     nicol.jvnc.net 70

1Gophers Hosted by GES   1/Hosted           nicol.jvnc.net 70

1Other Interesting Gophers 1/Other_Interesting_Gophers nicol.jvnc.net 70

1Publishers Online     1/Publishers_Online     nicol.jvnc.net 70

1WAIS Based Information   1/WAIS_Based_Information   nicol.jvnc.net 70

UnterNIC          /              internic.net  70

.

Connection closed by foreign host

Рассмотрим первый элемент списка. 0About this gopher указывает, что данный пункт — это текстовый файл, и определяет его название, About this gopher, которое и будет выведено пользователю. Селекторная строка 0/0about повторяет описание типа (0) и ссылается на файл по имени 0about из домашнего каталога сервера. Если пользователь выберет этот пункт меню, клиент gopher пошлет заданную селекторную строку серверу.

Следующий столбец определяет хост, хранящий данный пункт меню. Мы соединились с gopher.jvnc.net, что является псевдонимом для nicol.jvnc.net. Наконец последний столбец указывает, что должен использоваться стандартный порт gopher (70). Каждый элемент завершается .

Следующие несколько элементов описывают подкаталоги домашнего каталога сервера gopher системы nicol. Последний элемент указывает на меню по умолчанию (на сервере gopher в InterNIC).

Отметим, что сервер gopher сообщает о завершении пересылки меню, посылая строку, которая содержит только символ точки. Когда пересылается текстовой файл, символ точки используется также для указания на конец файла.

18.8 Файл .names

Простейший сервер gopher можно организовать, сконфигурировав в программе сервера расположение домашнего каталога и запустив эту программу. Главное меню сервера будет содержать список имен файлов и подкаталогов домашнего каталога. Если будет выбран один из подкаталогов, то соответствующий список также будет хранить имена файлов и подкаталогов.

Чтобы заменить созданные имена файлов и каталогов на более содержательные названия, администратор сервера создает в каждом каталоге сервера gopher специальный файл .names. Ниже показано несколько элементов такого файла (из домашнего каталога gopher компании GES):

# Каталог верхнего уровня

Path = 0/0about

Name = About this gopher

Numb = 1


Path = 1/GES

Name = GES

Numb = 3


Path = 1/Educational_Services

Name = Educational Services

Numb = 4


Path = 1/Internet_Resources

Name = Internet Resources

Numb = 5

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

Type = 7

Name = Search GES Gopher Tree

Path = 7/ts

Host = nicol.jvnc.net

Port = 70

Numb = 2


Type = 1

Name = InterNIC

Path = /

Host = internic.net

Port = 70

Numb = 11

Как показано на рис. 18.4, меню Internet Resources (ресурсы Интернета) имеет много ссылок на сеансы telnet. Типичный элемент файла .Links для сеанса telnet имеет вид:

Type = 8

Name = CARL System

Path = CARL

Host = pac.carl.org

Port = 23

Numb = 2

Тип 8 означает telnet, и в этом случае параметр Path (путь) определяет идентификатор пользователя (userid), который должен использоваться для регистрации в telnet.

Internet Resources 

-> 1. Area Code Info/ 

  2. CARL System  

  3. FreeNet (USA Today)  

  4. Ftp/ 

  5. Geographic Server  

  6. Libraries/ 

  7. Netfind (Internet White Pages)  

  8. News / 

  9. Pilot Weather Service. [Airplane Pilot]  

  10. RFC/ 

  11. Sun Managers/ 

  12. Sunergy/ 

  13. Weather By State/ 

  14. Weather Service  

  15. World Wide Web  


Press ? for Help, q to Quit, u to go up a menu

Рис. 18.4. Меню Internet Resources

18.9 Служба WAIS

Gopher делает доступными для пользователей множество файлов. Однако пользователи нуждаются в инструменте для поиска в архиве полезных для себя текстовых документов. Большинство серверов gopher имеет поисковое средство — региональную информационную службу (Wide Area Information Service — WAIS), обеспечивающую, кроме прочего, полномасштабную индексацию текста. Существуют бесплатные и коммерческие версии WAIS (в настоящее время это торговая марка компании WAIS, Inc).

Кроме WAIS, были разработаны другие средства для индексации и поиска. Поисковые приложения очень важны. Они постоянно совершенствуются в конкурентной борьбе за создание эффективной методологии индексации, наиболее функциональных возможностей и ускорения работы.

18.10 Дополнительная литература

Протокол gopher описан в RFC 1436. Бесплатные справочные материалы и программное обеспечение для gopher доступно на сервере Миннесотского университета (gopher.tc.umn.edu).

Загрузка...