Pull to refresh

Gopher, вы слышали это слово?

Reading time 3 min
Views 16K

Gopher


«To Gopher, the world is just one big file system»

Gopher — один из протоколов интернета, был популярен в начале 1990-х, впоследствии его роль уменьшилась. В основном с повсеместным развитием WWW. Ошибочно считается (а именно так написано в русской и английской википедии), что протоколы Gopher и HTTP были своего рода конкурентами, это и привело к уменьшению доли одного и увеличению другого. Нет, изначально Gopher был разработан для своеобразной замены FTP, протокола, который был разрабтан еще в 1960-х годах.

В одном из документов, найденых на скудных просторах Gopher части интернета написано:

Вольный перевод небольшой выдержки из файла gopher://hal3000.cx/0/Begin_Here/About_Gopher.txt
Что способен делать FTP, Gopher делает лучше. Он не только позволяет распространять файлы, но и делает легкой их организацию. С помошью Gopher вы не только можете расположить файлы в удобной для пользователя манере, но и добавить полезные описание или коментарии, которые будут сопровождать их. Кроме того пользователям больше нет надобности логиниться на сервер для загрузки файла, вы можете просто добавить гиперссылку на сервер, содержащий нужные файлы.


Современным пользователям трудно понять стоящие тогда проблемы перед современниками. WWW в то время был только в зачатке, распространять информцию, а главное связать ее воедино было большой проблемой. Людям приходилось метаться между списками рассылки, конфернциями, удаленными FTP серверами. Именно для облегчения распространения и связывания информации и был представлен Gopher:

Вольный перевод начала письма разработчиков, где они представили этот проект 8 Октября 1991 года 00:33
Протокол интернета Gopher разработан для создания распределенной системы для получения информации


Gopher состоит из системы связанных гиперссылками меню. Ссылки могут вести на другие сервера. Зайдя на «страницу» мы можем наблюдать меню с директориями и файлами, а также с ссылками на другие «страницы». Это чем-то похоже на то, как, для примера Firefox, показывает список файлов и директорий если мы укажем ему путь на локальном диске.

За протоколом был закреплен 70-й порт. Протокол настолько простой, что его можно использовать вообще без клиента (используя telnet). Кстати именно через telnet у меня получилось смотреть utf-8 файлы на русском. Другие клиенты не захотели этого делать.

На данный момент, про Gopher слышали немногие люди, а поколение «после Чернобыля» вообще обошло данный этап развития сети стороной. Я не хочу сказать, что протокол незаслуженно забыт (сегодня количество функционирующих Gopher серверов измеряется сотнями, а если быть более точным, то 133), он совершенно не вписывается с современное понимание сети. WWW/HTTP покрывает вопрос распространения/доступа к распределенной по сети информации, оброс множеством возможностей и сопутствующих технологий, так что попыток вдохнуть жизнь в Gopher даже не предвидится.
Надеюсь кому-то было интересно узнать, что «такое» было.

Для тех, кто хотел бы прикоснуться к истории, можно сказать, что из современных браузеров, только в Firefox сохранилась возможность просматривать Gopher ресурсы. Изначально такая поддержка была и в IE версий до 5 и 6. В 5 и 6 версии поддержка была убрана одним из обновлений, который закрывал дыру в безопасности, связанную с обработкой Gopher, хороший метод борьбы с дырами, интересно удалят ли они поддержку HTTP, если обнаружится подобная проблема :) Еще одним способом просмотра есть консольный браузер Lynx, который изначально разрабатывался именно для этой цели!

Вид Gopher страницы в браузере Lynx


Вид Gopher страницы в браузере Firefox


Для того, что бы посмотреть на все это в живую, приведу набор ссылок (смотреть FF, Lynx, telnet, либо другим Gopher-браузером):
Хабрапарсер неисправимо корежит ссылки. Просто нажимать на gopher ссылки не надо, лучше скопировать их руками.
Интересная информация о самом протоколе: gopher://gopher.quux.org/1/Software/Gopher
Статистика Gopher поисковика: gopher://gopher.floodgap.com/0/v2/vstat
Английская Википедия: http://en.wikipedia.org/wiki/Gopher_(protocol)
Русская Википедия: http://ru.wikipedia.org/wiki/Gopher_(сетевой_протокол)
Gopher сервер на Python: gopher://gopher.quux.org/1/devel/gopher/pygopherd — я его даже ставил, он работает )

А еще у страниц Gopher, такая суть, что они содержат только лишь информацию, никакого оформительского мусора. Мечта юзабилистов. На эту мысль меня натолкну внешний вид сайта Якоба Нильсена, современный вид которой можно было бы с успехом заменить Gopher'ом.

Вот такая технология была популярна в начале массового распространения интрнета. Кто знает, если бы не Тим, возможно эта статья была бы размещена на Gpher Habrahabr
Tags:
Hubs:
+73
Comments 63
Comments Comments 63

Articles