Gopher (англ. gopher [ˈɡoʊfər] — го́уфер, го́фер) — сетевой протокол распределённого поиска и передачи документов, который был широко распространён в Интернете до 1993 года. Протокол предназначается для предоставления доступа к документам в Интернет, но имеет меньше возможностей, чем HTTP, и впоследствии был почти полностью вытеснен им.
Gopher | |
---|---|
Название | Gopher |
Создан в | 1991 |
Порт/ID | 70/TCP |
Спецификация | RFC 1436 |
Основные реализации (клиенты) | |
Разработчик | Mark P. McCahill[вд] и Миннесотский университет |
Протокол gopher имеет более жёсткую структуру размещения информации, очень похожую на структуру каталогов в файловой системе, которая состоит из вложенных друг в друга каталогов и файлов. Иерархическая структура ссылок позволила пользователям текстовых терминалов, в основном в университетах, очень быстро находить нужную информацию.
Протокол был разработан в Университете Миннесоты весной 1991 года и документирован в RFC 1436. Летом 1993 года опубликован набор дополнений к протоколу, получивший название .
В феврале 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 года в Интернете существует около 310 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:
- UMN Gopherd — классический сервер, разработанный в Университете Миннесоты, не поддерживается
- Geomyidae
- GN
- GoFish
- Gophernicus
- gophrier
- mgod
- Motsognir
- На Python:
- PyGopherd
- На Java:
- Aftershock
- На Perl:
- Bucktooth
- На FreeBASIC:
- GOPHSERV
- Grumpy (поддержка Gopher прекращена)
- На Scheme:
- Goscher
- На платформе .NET 3.5:
- Gopher Cannon
- На node.JS (Javascript)
- node-gopher
Gopher+
Gopher+ — обратно совместимое расширение протокола Gopher. Предложено разработчиками оригинального протокола Gopher (также называемого Gopher0) в июле 1993 года.
В дополнение к стандартным полям, отправляемым клиенту сервером Gopher0, сервер Gopher+ может отправлять различные метаданные о документе (тип MIME, дату изменения документа, краткое описание, информацию о доступных форматах документа и др.). Клиент Gopher+ может отправлять серверу данные пользовательского ввода аналогично веб-формам.
Предложены также новые типы содержимого:
- : = битовое изображение
- ; = файл видео
- < = звуковой файл
Расширения Gopher+ не были широко реализованы на практике. Лишь немногие из клиентов (UMN Gopher, HGopher) и серверов (UMN Gopherd, Pygopherd) полностью или частично поддерживают Gopher+.
Примечания
- Gopher+ upward compatible enhancements to the Internet Gopher protocol (30 июля 1993). Архивировано 18 октября 2017 года.
- University of Minnesota Gopher software licensing policy от 10 января 2006 на Wayback Machine The Minnesota Gopher Team
- Johan Söderberg. Hacking Capitalism: The Free and Open Source Software Movement (англ.). — Routledge, 2007. — P. 25. — .
- comp.infosystems.gopher: UMN Gopher(d) released under the GPL . Дата обращения: 20 января 2013. 29 сентября 2021 года.
- Статистика Veronica-2 . gopher.floodgap.com. Архивировано 18 октября 2017 года.
- Список новых серверов Gopher .
- Microsoft Security Bulletin MS02-047 . Microsoft (28 февраля 2003). Дата обращения: 23 марта 2007. Архивировано 25 августа 2011 года.
- Release Notes for Internet Explorer 7 . Microsoft (2006). Дата обращения: 23 марта 2007. Архивировано 25 августа 2011 года.
- kio_gopher — Gopher kioslave . Дата обращения: 18 октября 2011. 1 мая 2018 года.
- Lenta.ru: Интернет: Блеск и нищета URL’а . Дата обращения: 28 сентября 2011. 30 сентября 2011 года.
- . Дата обращения: 28 сентября 2011. Архивировано из оригинала 10 июня 2011 года.
- . Дата обращения: 21 января 2013. Архивировано из оригинала 4 сентября 2013 года.
- Ubuntu Manpage: PyGopherd - Multiprotocol Information Server . Дата обращения: 22 января 2013. Архивировано 1 февраля 2013 года.
Ссылки
- RFC 1436 — описание протокола Gopher
- шлюз из WWW в Gopher
- Gopher+ (недоступная ссылка)
- Uptime и состояние известных серверов Gopher (через http недоступен)
- Спецификация Gopher+
Для улучшения этой статьи :
|
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер
Gopher angl gopher ˈɡoʊfer go ufer go fer setevoj protokol raspredelyonnogo poiska i peredachi dokumentov kotoryj byl shiroko rasprostranyon v Internete do 1993 goda Protokol prednaznachaetsya dlya predostavleniya dostupa k dokumentam v Internet no imeet menshe vozmozhnostej chem HTTP i vposledstvii byl pochti polnostyu vytesnen im GopherNazvanie GopherSozdan v 1991Port ID 70 TCPSpecifikaciya RFC 1436Osnovnye realizacii klienty Mozilla Firefox Windows Internet Explorer 5 Internet Explorer 6 ogranicheno MS LynxRazrabotchik Mark P McCahill vd i Minnesotskij universitet Protokol gopher imeet bolee zhyostkuyu strukturu razmesheniya informacii ochen pohozhuyu na strukturu katalogov v fajlovoj sisteme kotoraya sostoit iz vlozhennyh drug v druga katalogov i fajlov Ierarhicheskaya struktura ssylok pozvolila polzovatelyam tekstovyh terminalov v osnovnom v universitetah ochen bystro nahodit nuzhnuyu informaciyu Protokol byl razrabotan v Universitete Minnesoty vesnoj 1991 goda i dokumentirovan v RFC 1436 Letom 1993 goda opublikovan nabor dopolnenij k protokolu poluchivshij nazvanie Gopher V fevrale 1993 goda Universitet Minnesoty obyavil o namerenii vzimat licenzionnye otchisleniya za ispolzovanie sozdannoj im realizacii servera Gopher V rezultate polzovateli i razrabotchiki stali otdavat predpochtenie razvivavshejsya togda tehnologii World Wide Web imevshej i ryad drugih preimushestv V sentyabre 2000 goda Universitet Minnesoty vypustil programmnoe obespechenie Gopher klient i server pod licenziej GNU GPL Protokol osnovan na klient servernoj tehnologii za nim zakreplyon 70 j port TCP Posle togo kak klient ustanovit TCP podklyuchenie s serverom on posylaet stroku zakanchivayushuyusya CR LF kotoraya soderzhit zapros na nuzhnyj dokument libo pustuyu stroku dlya polucheniya pervoj stranicy sajta Server otvechaet i zakryvaet soedinenie Katalog sostoit iz posledovatelnosti strok opisyvayushih dannye kotorye mozhno iz nego poluchit fajly drugie katalogi i ssylki na resursy dostupnye po drugim protokolam Stroki soderzhat pyat polej i zakanchivayutsya CR LF Pervoe pole soderzhit odin simvol i ne otdeleno ot vtorogo ostalnye razdelyayutsya tabulyaciej Tip soderzhimogo 0 tekstovyj fajl 1 katalog 2 server imyon CSO 3 oshibka 4 fajl Macintosh v formate 5 arhiv ZIP 6 fajl UNIX zakodirovannyj uuencode 7 poiskovyj server 8 ssylka na telnet sessiyu 9 binarnyj fajl zapasnoj server h fajl v formate HTML g graficheskij fajl v formate GIF i informacionnyj tekst I graficheskij fajl otobrazhenie opredelyaetsya klientom T ssylka na sessiyu Stroka opisaniya Put obychno v fajlovoj sisteme Domennoe imya servera Nomer porta servera Na nachalo 2013 goda v Internete sushestvuet okolo 310 gopher serverov Bolshinstvo iz nih bolee ne obnovlyaetsya no nekotorye podderzhivayutsya entuziastami protokola Gopher Neskolko desyatkov novyh serverov bylo zapusheno s 1999 goda Segodnya Gopher napominaet pochti zabroshennyj ugolok Interneta mozhno naprimer publikovat adresa elektronnoj pochty ne bespokoyas o spame i publikovat lyubuyu informaciyu ne zabotyas ob obyomah trafika Pri etom mnogie servery Gopher do sih por regulyarno poseshayutsya Protokol Gopher v toj ili inoj mere podderzhivaetsya mnogimi sovremennymi veb brauzerami Programmnoe obespechenieKlienty V Internet Explorer versij 5 i 6 dlya Windows podderzhka Gopher otklyuchena s iyunya 2002 goda s vyhodom patcha prednaznachavshegosya dlya ispravleniya uyazvimosti v obrabotchike protokola Gopher odnako eyo mozhno vernut cherez redaktirovanie reestra V Internet Explorer 7 Gopher bolee ne podderzhivaetsya Internet Explorer dlya Mac tolko na platforme PowerPC vsyo eshyo podderzhivaet Gopher Drugie brauzery vklyuchaya Mozilla i AOL podderzhivayut protokol lish chastichno naibolee sushestvennym nedostatkom yavlyaetsya to chto oni ne otobrazhayut informacionnyj tekst ispolzuemyj vo mnogih gopher menyu Dlya polnoj podderzhki Gopher v Konqueror neobhodim plagin takoj kak kio gopher Mozilla Firefox polnostyu podderzhival Gopher nachinaya s versii 1 5 i do 4 v 4 j versii brauzera vyshedshej v marte 2011 goda Gopher perestal podderzhivatsya no mozhno ustanovit specialnoe rasshirenie i chastichno v predshestvuyushih versiyah SeaMonkey i Camino takzhe polnostyu podderzhivayut Gopher Odnako naibolee polnaya podderzhka Gopher dostupna v tekstovom brauzere Lynx Safari ne podderzhivaet Gopher dlya podderzhki v Opera trebuetsya proksi server naprimer Squid Servery Blagodarya prostote protokola sozdano mnozhestvo realizacij serverov na razlichnyh yazykah programmirovaniya Na C UMN Gopherd klassicheskij server razrabotannyj v Universitete Minnesoty ne podderzhivaetsya Geomyidae GN GoFish Gophernicus gophrier mgod Motsognir Na Python PyGopherd Na Java Aftershock Na Perl Bucktooth Na FreeBASIC GOPHSERV Grumpy podderzhka Gopher prekrashena Na Scheme Goscher Na platforme NET 3 5 Gopher Cannon Na node JS Javascript node gopherGopher Gopher obratno sovmestimoe rasshirenie protokola Gopher Predlozheno razrabotchikami originalnogo protokola Gopher takzhe nazyvaemogo Gopher0 v iyule 1993 goda V dopolnenie k standartnym polyam otpravlyaemym klientu serverom Gopher0 server Gopher mozhet otpravlyat razlichnye metadannye o dokumente tip MIME datu izmeneniya dokumenta kratkoe opisanie informaciyu o dostupnyh formatah dokumenta i dr Klient Gopher mozhet otpravlyat serveru dannye polzovatelskogo vvoda analogichno veb formam Predlozheny takzhe novye tipy soderzhimogo bitovoe izobrazhenie fajl video lt zvukovoj fajl Rasshireniya Gopher ne byli shiroko realizovany na praktike Lish nemnogie iz klientov UMN Gopher HGopher i serverov UMN Gopherd Pygopherd polnostyu ili chastichno podderzhivayut Gopher PrimechaniyaGopher upward compatible enhancements to the Internet Gopher protocol neopr 30 iyulya 1993 Arhivirovano 18 oktyabrya 2017 goda University of Minnesota Gopher software licensing policy ot 10 yanvarya 2006 na Wayback Machine The Minnesota Gopher Team Johan Soderberg Hacking Capitalism The Free and Open Source Software Movement angl Routledge 2007 P 25 ISBN 0 415 95543 2 comp infosystems gopher UMN Gopher d released under the GPL neopr Data obrasheniya 20 yanvarya 2013 29 sentyabrya 2021 goda Statistika Veronica 2 neopr gopher floodgap com Arhivirovano 18 oktyabrya 2017 goda Spisok novyh serverov Gopher neopr Microsoft Security Bulletin MS02 047 neopr Microsoft 28 fevralya 2003 Data obrasheniya 23 marta 2007 Arhivirovano 25 avgusta 2011 goda Release Notes for Internet Explorer 7 neopr Microsoft 2006 Data obrasheniya 23 marta 2007 Arhivirovano 25 avgusta 2011 goda kio gopher Gopher kioslave neopr Data obrasheniya 18 oktyabrya 2011 1 maya 2018 goda Lenta ru Internet Blesk i nisheta URL a neopr Data obrasheniya 28 sentyabrya 2011 30 sentyabrya 2011 goda neopr Data obrasheniya 28 sentyabrya 2011 Arhivirovano iz originala 10 iyunya 2011 goda neopr Data obrasheniya 21 yanvarya 2013 Arhivirovano iz originala 4 sentyabrya 2013 goda Ubuntu Manpage PyGopherd Multiprotocol Information Server neopr Data obrasheniya 22 yanvarya 2013 Arhivirovano 1 fevralya 2013 goda SsylkiRFC 1436 opisanie protokola Gopher shlyuz iz WWW v Gopher Gopher nedostupnaya ssylka Uptime i sostoyanie izvestnyh serverov Gopher cherez http nedostupen Specifikaciya Gopher Dlya uluchsheniya etoj stati zhelatelno Ispravit statyu soglasno stilisticheskim pravilam Vikipedii Oformit statyu po pravilam Posle ispravleniya problemy isklyuchite eyo iz spiska Udalite shablon esli ustraneny vse nedostatki