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

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

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

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

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

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

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

> telnet gopher.jvnc.net 70

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

Escape character is '^}' .

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

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). Каждый элемент завершается <CR><LF>.

Следующие несколько элементов описывают подкаталоги домашнего каталога сервера 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 имеет вид:

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату