Gopher

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

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

Протокол 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 года в Интернете существует около 310 gopher-серверов[5]. Большинство из них более не обновляется, но некоторые поддерживаются энтузиастами протокола Gopher. Несколько десятков новых серверов было запущено с 1999 года[6]. Сегодня Gopher напоминает почти заброшенный уголок Интернета — можно, например, публиковать адреса электронной почты, не беспокоясь о спаме, и публиковать любую информацию, не заботясь об объёмах трафика. При этом многие серверы Gopher до сих пор регулярно посещаются. Протокол Gopher в той или иной мере поддерживается многими современными веб-браузерами.Протокол Gopher получил дальнейшее развитие в протоколеGemini (протокол).

Содержание

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

[править |править код]

Клиенты

[править |править код]

В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. 12Gopher+ 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 года.

Ссылки

[править |править код]
Перейти к шаблону «External links»
Ссылки на внешние ресурсы
Перейти к шаблону «Внешние ссылки» Перейти к элементу Викиданных
  Словари и энциклопедии
В библиографических каталогах
Перейти к шаблону «Схемы URI»
СхемыURI
Официальные
Неофициальные
Перейти к шаблону «IPstack»
ОсновныепротоколыTCP/IP по уровняммодели OSI
Физический
Канальный
Сетевой
Транспортный
Сеансовый
Представления
Прикладной
Другие прикладные
Перейти к шаблону «Клиенты Gopher»
КлиентыGopher
Активные
клиенты
Прекращённые
Серверное ПО
См. также
Источник —https://ru.wikipedia.org/w/index.php?title=Gopher&oldid=150805964
Категории:
Скрытые категории: