Это не официальный сайт wikipedia.org 01.01.2023

Gopher — Википедия

Gopher

(перенаправлено с «Gopher+»)

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

Gopher
Название Gopher
Создан в 1991
Порт/ID 70/TCP
Спецификация RFC 1436
Основные реализации (клиенты) Mozilla Firefox, Windows: Internet Explorer 5, Internet Explorer 6 (ограничено MS), Lynx
Разработчик Mark P. McCahill[d] и Миннесотский университет

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

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

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

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

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

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

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

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

КлиентыПравить

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

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

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

СерверыПравить

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

Gopher+Править

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

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

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

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

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

ПримечанияПравить

  1. 1 2 Gopher+ upward compatible enhancements to the Internet Gopher protocol  (неопр.) (30 июля 1993). Архивировано 18 октября 2017 года.
  2. University of Minnesota Gopher software licensing policy Архивная копия от 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. comp.infosystems.gopher: UMN Gopher(d) released under the GPL  (неопр.). Дата обращения: 20 января 2013. Архивировано 29 сентября 2021 года.
  5. Статистика Veronica-2  (неопр.). gopher.floodgap.com. Архивировано 18 октября 2017 года.
  6. Список новых серверов Gopher  (неопр.).
  7. Microsoft Security Bulletin MS02-047  (неопр.). Microsoft (28 февраля 2003). Дата обращения: 23 марта 2007. Архивировано 25 августа 2011 года.
  8. Release Notes for Internet Explorer 7  (неопр.). Microsoft (2006). Дата обращения: 23 марта 2007. Архивировано 25 августа 2011 года.
  9. kio_gopher — Gopher kioslave  (неопр.). Дата обращения: 18 октября 2011. Архивировано 1 мая 2018 года.
  10. Lenta.ru: Интернет: Блеск и нищета URL’а  (неопр.). Дата обращения: 28 сентября 2011. Архивировано 30 сентября 2011 года.
  11. OverbiteFF :: Add-ons for Firefox  (неопр.). Дата обращения: 28 сентября 2011. Архивировано из оригинала 10 июня 2011 года.
  12. Архивированная копия  (неопр.). Дата обращения: 21 января 2013. Архивировано из оригинала 4 сентября 2013 года.
  13. Ubuntu Manpage: PyGopherd - Multiprotocol Information Server  (неопр.). Дата обращения: 22 января 2013. Архивировано 1 февраля 2013 года.

СсылкиПравить