Я начинаю публиковать цикл обзоров посвященных протоколам интернета распространенным и не очень в девяностых годах двадцатого столетия. Делается это в первую очередь с целью обозначения альтернативных методов связи внутри глобальной паутины в свете бесконечных утечек корпоративной и частной информации. Без всякого рода блокчейнов и доменов зоны Onion. Проще говоря, без современной мифологии запланированного устаревания.
И первым протоколом интернета девяностых годов с которым мы начнем знакомство будет Gopher. Выбран он по причине того, что в узких компьютерных кругах вокруг него сложилась довольно негативная репутация. А именно как о нефункциональном и бесполезном протоколе. Но это лишь потому, что авторы подобных утверждений никогда не углублялись в настройки и конфигурацию данного продукта.
Стандарт Gopher и приложение для просмотра (браузер) были разработаны в Университете штата Миннесота в 1991 году в рамках программы обеспечения возможности простого обмена документами посредством интернета. Между людьми, учреждениями и даже странами. Популярность Gopher возросла когда оказались разработаны системы поиска Veronica и Jughead. Сам же протокол назвали в честь суслика - талисмана футбольной команды Университета Миннесоты.
Но в феврале 1993 года администрация вышеупомянутого учебного заведения решила начать взимать плату за лицензирование серверов Gopher. Чем вызвала обоснованную панику среди владельцев данных сервисов. В это же время CERN отказался от прав на стандарт WWW, что остановило популяризацию Gopher. И лишь в 2000 году Университет штата Миннесота повторно лицензировал разработку в соответствии с общедоступной лицензией GNU. Но как вы понимаете, драгоценное время было утеряно.
Тем не менее, данный протокол и сегодня может оказаться интересным не только корпоративным разработчикам, но и просто любителям закрытого обмена данными. Вне вездесущих ботов Google, Microsoft и Yandex.
Первое что поражает в Gopher так это его минималистичные требования и размеры. Архив сервера занимает каких-то 290 кб, а клиент WSgopher 368 кб соответственно. Второе, что радует, так это полная кроссплатформенность. Существуют сервера и браузеры абсолютно для любой операционной системы от Dos и Unix до MacOS и Windows. Например, для обзора использовался Motsognir для Winodws 9x прекрасно работающий даже в XP. Доступный для скачивания, как и другие решения с данной страницы: http://www.jumpjet.info/Offbeat-Internet/Gopher/Servers/OS/specific.htm
Третьей и не маловажной особенностью протокола является простота конфигурирования сервера. Если в WWW мы привыкли к бесконечным файлам настроек с подключением множества модулей, то с Gopher дела обстоят проще. Существует всего два файла конфигурации. Один непосредственно принадлежащий разработчикам сервера, но оформленный согласно стандартов протокола. Полное описание которого в случае Motsognir находится в файле manuals.pdf, внутри архива. Второй же файл gophermap создается при желании владельцем в публичной (расшаренной) директории с файлами. Он управляет не только листингом каталогов, но и их оформлением. Это своего рода смесь современного файла .htaccess с привычными тэгами html только другого стандарта. Примеры настроек файла gophermap можно найти в интернете.
При этом самым главными мифом, обнаруженным среди русскоязычных комментаторов, оказалась якобы статичность протокола. Хотя это не так. Ведь на Gopher сервере поддерживается включение не только GGI, но даже PHP. То есть де-факто, протокол реализует динамический контент, не смотря на аскетический внешний вид базовой конфигурации. Более того, при желании сервер можно настроить таким образом, что доступ к сервису будет осуществляться только через учетные записи экспортированные из Telnet для UNIX или Linux. Проще говоря, возможно паролирование каталогов и непосредственно самого сервера.
Для разработчиков задача упрощается еще и в силу того, что Gopher имеет открытый исходный код. Так что при желании его можно отредактировать на свой лад. Функционирует данный протокол стандартно через 70-й порт. И позволяет так же прописывать специализацию файлов для просмотра внешними приложениями пользователей.
В общем и целом у меня сложились приятные впечатления от настройки и конфигурирования клиента/сервера Gopher. А гибкость и кроссплатформенность позволяют использовать его в связке с другими альтернативными решениями. Например, осуществлять прямой доступ к файлам закаченным по FTP с разделением прав по учетным записям, а так же читать переписку в связке с UseNet и другими протоколами. Но об этом в следующих обзорах.
Роман Карпач www.fdd5-25.net
Комментарии
Признак наличия множества свободного времени - установка сервера Gopher.