Протокол Gopher
Ресурсы Gopher
Gopher представляет весь Internet (серверы Gopher) в виде единой иерархической системы. Gopher-серверы объединены в единое информационное пространство на Internet. Многие архивы дублируют информацию из других архивов (так называемые «зеркала» — mirrors).
В табл. 6.4 приведены основные типы ресурсов, доступных в системах Gopher, и их коды (для сетевых протоколов).
Каждый файл на сервере должен быть описан следующим образом (табл. 6.5). Пример описания:
Numb=l
Name=--> Welcome to my Gopher Server <--
Host—+
Port=+
Type=i
Path=\About.txt #
Numb=2 Name= Host—+ Port=+ Type=i
Path=\About.txt #
Numb=3
Name=All the Worlds Gophers Host=gopher.floodgap.com Port=70 Type=l
Path=/world #
Numb=4
Name=Example.txt Host=gopher.nowhere.net Port='70 Type=0
Path=/foo/bar/example.txt
На экране пользователя отобразится следующая информация:
-> Welcome to my Gopher Server <- All the Worlds Gophers Example.txt
Таблица 6.4. Типы и коды ресурсов Gopher | ||
Код (Символ) | Описание | Пример |
Файл | ||
Каталог | ||
Сервер телефонного справочника CSO | ||
Ошибка | ||
Файл BinHexed Macintosh | hqx-фаЙЛ | |
Некоторые типы бинарных архивов DOS | zip-файл 1 | |
UU-кодированный файл Unix | Индекс WAIS ! | |
Сервер Index-Search | ||
Указатель на текстовую сессию Telnet | ||
Бинарный файл | ехе-файл | |
+ | Резервный сервер | |
i | Информационная строка, не обязательно являющаяся ссылкой | |
Я | Графический файл в формате GIF | |
h | HTML-файл | |
s | Любые звуковые файлы | wav-файл |
Т | Указатель на текстовый сеанс tn3270 | |
; I | Некоторые файлы образов (клиент должен сам выбрать способ отображения) |
* Символы от 0 до Z зарезервированы. Для типов 5 и 9 клиент должен быть готов к чтению до завершения сеанса TCP. В конце таких файлов отсутствует завершающая точка в пустой строке, сеанс для этих файлов имеет бинарный тип и клиент должен самостоятельно выбирать способ отображения. Gopher не предусматривает предопределенной классификации информации, поэтому структура ресурса определяется исключительно соображениями владельца сервера.
Таблица 6.5. Описание файла на сервере Gopher
|
Протокол Gopher предназначен для работы по модели «клиент — сервер», при этом программа-клиент установлена на рабочем месте пользователя. Эта программа посылает запрос-селектор в ТСР-порт 70 (строку текста, которая может быть и пустой), а затем сервер отвечает блоком текста, в конце которого стоит точка. Никакой информации о состоянии соединения сервер клиенту не сообщает и, в свою очередь, не запрашивает. После ответа сервера соединение разрывается, а при новом запросе оно должно быть установлено заново. Простота этого алгоритма позволяет реализовать его даже на маломощных персональных компьютерах.
Возвращаемый сервером текст представляет собой справку о содержании текущей директории (каталога), каждый элемент которой включает:
• тип (объекта в директории);
• имя (используется для отображения и в запросах);
• неотображаемую строку выбора, которая обычно описывает путь, используемый удаленным хостом для доступа к объекту (селектор);
• имя хоста (машины, к которой надо обращаться за информацией);
• номер порта (на котором сервер данного объекта ожидает запрос).
Пользователь реально видит только имя объекта. Програм- ма-клиент может воспользоваться триадой селектор, хост, порт для поиска каждого объекта.
Для использования поискового объекта из директории Gopher клиент посылает запрос специальному поисковому серверу Gopher. В этом случае клиент посылает серверу строку-селектор и ключевые слова, а получает от сервера список адресов документов, удовлетворяющих запросу.
Программы, обслуживающие взаимодействие по протоколу Gopher, существуют практически для всех типов компьютерных платформ.