Interested Article - Gopher

Gopher ( англ. gopher [ˈɡoʊfər] — го́уфер, го́фер) — сетевой протокол распределённого поиска и передачи документов, который был широко распространён в Интернете до 1993 года. Протокол предназначается для предоставления доступа к документам в Интернет, но имеет меньше возможностей, чем HTTP , и впоследствии был почти полностью вытеснен им.

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

Протокол был разработан в Университете Миннесоты весной 1991 года и документирован в . Летом 1993 года опубликован набор дополнений к протоколу, получивший название Gopher+ .

В феврале 1993 года Университет Миннесоты объявил о намерении взимать лицензионные отчисления за использование созданной им реализации сервера Gopher. В результате пользователи и разработчики стали отдавать предпочтение развивавшейся тогда технологии World Wide Web , имевшей и ряд других преимуществ . В сентябре 2000 года Университет Миннесоты выпустил программное обеспечение Gopher (клиент и сервер) под лицензией GNU GPL .

Протокол основан на клиент-серверной технологии, за ним закреплён 70-й порт TCP . После того, как клиент установит TCP-подключение с сервером, он посылает строку (заканчивающуюся CR LF ), которая содержит запрос на нужный документ либо пустую строку для получения первой страницы сайта . Сервер отвечает и закрывает соединение.

Каталог состоит из последовательности строк, описывающих данные, которые можно из него получить — файлы, другие каталоги и ссылки на ресурсы, доступные по другим протоколам. Строки содержат пять полей и заканчиваются CR LF. Первое поле содержит один символ и не отделено от второго, остальные разделяются табуляцией.

  • Тип содержимого
    • 0 = текстовый файл
    • 1 = каталог
    • 2 = сервер имён CSO
    • 3 = ошибка
    • 4 = файл Macintosh в формате
    • 5 = архив ZIP
    • 6 = файл UNIX, закодированный uuencode
    • 7 = поисковый сервер
    • 8 = ссылка на telnet -сессию
    • 9 = бинарный файл
    • + = запасной сервер
    • h = файл в формате HTML
    • g = графический файл в формате GIF
    • i = информационный текст
    • I = графический файл (отображение определяется клиентом)
    • T = ссылка на сессию
  • Строка описания
  • Путь (обычно в файловой системе)
  • Доменное имя сервера
  • Номер порта сервера

На начало 2013 года в Интернете существует около 180 gopher-серверов . Большинство из них более не обновляется, но некоторые поддерживаются энтузиастами протокола Gopher. Несколько десятков новых серверов было запущено с 1999 года . Сегодня Gopher напоминает почти заброшенный уголок Интернета — можно, например, публиковать адреса электронной почты, не беспокоясь о спаме, и публиковать любую информацию, не заботясь об объёмах трафика. При этом многие серверы Gopher до сих пор регулярно посещаются. Протокол Gopher в той или иной мере поддерживается многими современными веб-браузерами.

Программное обеспечение

Клиенты

В Internet Explorer версий 5.* и 6 для Windows поддержка Gopher отключена с июня 2002 года с выходом патча, предназначавшегося для исправления уязвимости в обработчике протокола Gopher; однако её можно вернуть через редактирование реестра . В Internet Explorer 7 Gopher более не поддерживается . Internet Explorer для Mac (только на платформе PowerPC ) всё ещё поддерживает Gopher.

Другие браузеры, включая Mozilla и AOL , поддерживают протокол лишь частично — наиболее существенным недостатком является то, что они не отображают информационный текст, используемый во многих gopher-меню. Для полной поддержки Gopher в Konqueror необходим плагин, такой как kio_gopher . Mozilla Firefox полностью поддерживал Gopher, начиная с версии 1.5 и до 4 (в 4-й версии браузера, вышедшей в марте 2011 года, Gopher перестал поддерживаться , но можно установить специальное расширение ), и частично — в предшествующих версиях. SeaMonkey и Camino также полностью поддерживают Gopher. Однако, наиболее полная поддержка Gopher доступна в текстовом браузере Lynx .

Safari не поддерживает Gopher, для поддержки в Opera требуется прокси-сервер, например Squid .

Серверы

Благодаря простоте протокола создано множество реализаций серверов на различных языках программирования:

  • На C :
    • — классический сервер, разработанный в Университете Миннесоты, не поддерживается
  • На Python :
  • На Java :
  • На Perl :
  • На FreeBASIC :
    • (поддержка Gopher прекращена)
  • На Scheme :
  • На платформе .NET 3.5 :
  • На node.JS (Javascript)

Gopher+

Gopher+ — обратно совместимое расширение протокола Gopher. Предложено разработчиками оригинального протокола Gopher (также называемого Gopher0) в июле 1993 года .

В дополнение к стандартным полям, отправляемым клиенту сервером Gopher0, сервер Gopher+ может отправлять различные метаданные о документе (тип MIME, дату изменения документа, краткое описание, информацию о доступных форматах документа и др.). Клиент Gopher+ может отправлять серверу данные пользовательского ввода аналогично веб-формам.

Предложены также новые типы содержимого:

  • : = битовое изображение
  • ; = файл видео
  • < = звуковой файл

Расширения Gopher+ не были широко реализованы на практике. Лишь немногие из клиентов (UMN Gopher, HGopher ) и серверов (UMN Gopherd, Pygopherd ) полностью или частично поддерживают Gopher+.

Примечания

  1. (30 июля 1993). 18 октября 2017 года.
  2. от 10 января 2006 на Wayback Machine The Minnesota Gopher Team
  3. Johan Söderberg. Hacking Capitalism: The Free and Open Source Software Movement (англ.) . — Routledge , 2007. — P. 25. — ISBN 0-415-95543-2 .
  4. . Дата обращения: 20 января 2013. 29 сентября 2021 года.
  5. . gopher.floodgap.com . 18 октября 2017 года.
  6. .
  7. . Microsoft (28 февраля 2003). Дата обращения: 23 марта 2007. 25 августа 2011 года.
  8. . Microsoft (2006). Дата обращения: 23 марта 2007. 25 августа 2011 года.
  9. . Дата обращения: 18 октября 2011. 1 мая 2018 года.
  10. . Дата обращения: 28 сентября 2011. 30 сентября 2011 года.
  11. . Дата обращения: 28 сентября 2011. Архивировано из 10 июня 2011 года.
  12. . Дата обращения: 21 января 2013. Архивировано из 4 сентября 2013 года.
  13. . Дата обращения: 22 января 2013. 1 февраля 2013 года.

Ссылки

  • — описание протокола Gopher
  • (недоступная ссылка)
  • (через http недоступен)
Источник —

Same as Gopher