Gopher
| Название: |
Gopher |
|---|---|
| Порт/ID: |
70/TCP |
| Спецификация: | |
| Основные реализации (клиенты): |
Mozilla Firefox, Microsoft Windows: Internet Explorer 5.x, Internet Explorer 6 (ограничено MS) |
Gopher — сетевой протокол распределённого поиска и передачи документов, который был широко распространён в Интернете до 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 года в Интернете существует около 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.
Серверы [править]
Благодаря простоте протокола создано множество реализаций серверов на различных языках программирования:
- На C:
- UMN Gopherd - классический сервер, разработанный в Унивеситете Миннесоты, не поддерживается
- Geomyidae
- GN
- GoFish
- Gophernicus
- gophrier
- mgod
- На Python:
- На Java:
- На Perl:
- На FreeBASIC:
- На Scheme:
- На платформе .NET 3.5:
Gopher+ [править]
Gopher+ — обратно совместимое расширение протокола Gopher. Предложено разработчиками оригинального протокола Gopher (также называемого Gopher0) в июле 1993 года.[1]
В дополнение к стандартным полям, отправляемым клиенту сервером Gopher0, сервер Gopher+ может отправлять различные метаданные о документе (тип MIME, дату изменения документа, краткое описание, информацию о доступных форматах документа и др.). Клиент Gopher+ может отправлять серверу данные пользовательского ввода, аналогично веб-формам.
Предложены также новые типы содержимого:
- : = битовое изображение
- ; = файл видео
- < = звуковой файл
Расширения Gopher+ не были широко реализованы на практике. Лишь немногие из клиентов (UMN Gopher, HGopher[12]) и серверов (UMN Gopherd, Pygopherd[13]) полностью или частично поддерживают Gopher+.
См. также [править]
Примечания [править]
- ↑ 1 2 gopher://gopher.floodgap.com/0/gopher/tech/gopherplus.txt
- ↑ University of Minnesota Gopher software licensing policy The Minnesota Gopher Team
- ↑ Johan Söderberg Hacking Capitalism: The Free and Open Source Software Movement. — Routledge, 2007. — P. 25. — ISBN 0-415-95543-2
- ↑ comp.infosystems.gopher: UMN Gopher(d) released under the GPL
- ↑ Статистика Veronica-2 на gopher.floodgap.com
- ↑ Список новых серверов Gopher
- ↑ Microsoft Security Bulletin MS02-047. Microsoft (28 февраля 2003). Архивировано из первоисточника 25 августа 2011. Проверено 23 марта 2007.
- ↑ Release Notes for Internet Explorer 7. Microsoft (2006). Архивировано из первоисточника 25 августа 2011. Проверено 23 марта 2007.
- ↑ kio_gopher — Gopher kioslave
- ↑ Lenta.ru: Интернет: Блеск и нищета URL'а
- ↑ OverbiteFF :: Add-ons for Firefox
- ↑ http://iubio.bio.indiana.edu/soft/util/gopher/mswin/hgopher22.readme
- ↑ Ubuntu Manpage: PyGopherd - Multiprotocol Information Server. Архивировано из первоисточника 2 февраля 2013. Проверено 22 января 2013.
Ссылки [править]
- RFC 1436 — Описание протокола Gopher
- шлюз из WWW в Gopher
- Gopher+
- Uptime и состояние известных серверов Gopher
- Спецификация Gopher+
Для улучшения этой статьи желательно?:
|
| Схемы URI | |
|---|---|
| Официальные | aaa: • aaas: • acap: • cap: • cid: • crid: • data: • dav: • dict: • dns: • fax: • file: • ftp: • go: • gopher: • h323: • http: • https: • im: • imap: • ldap: • mailto: • mid: • news: • nfs: • nntp: • pop: • pres: • rtsp: • sip: • sips: • snmp: • tel: • telnet: • urn: • wais: • xmpp: |
| Неофициальные | about: • aim: • bolo: • btc: • bzr: • callto: • chrome: • cvs: • daap: • ed2k: • ed2kftp: • feed: • fish: • git: • gizmoproject: • iax2: • irc: • ircs: • itms: • lastfm: • ldaps: • magnet: • mms: • msnim: • psyc: • rsync: • secondlife: • skype: • ssh: • svn: • sftp: • smb: • sms: • soldat: • steam: • unreal: • ut2004: • view-source: • vzochat: • webcal: • xfire: • ymsgr: |
| Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
|---|---|
| Физический | |
| Канальный |
Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • SMDS • STP • ERPS |
| Сетевой | |
| Транспортный | |
| Сеансовый | |
| Представления | |
| Прикладной | |
| Другие прикладные |
OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype |
| Gopher | |
|---|---|
| Активные клиенты |
|
| Прекращённые |
Argo • Beonex Communicator • Cello • Cyberjack • DocZilla • IBrowse • Internet Explorer (2 • 3 • 4 • 5 • for Mac) • Libwww Line-mode • Madfox • Minimo • Minuet • Mosaic • Mozilla Suite • Netscape Browser • Netscape Communicator • Netscape Navigator (9) • SlipKnot |
| Серверное ПО | |
| См. также | |

