Gopher — это интернет-протокол, предназначенный для распространения, поиска и получения документов через Интернет. Разработанный в Университете Миннесоты в начале 1990-х годов, Gopher был предшественником Всемирной паутины и предлагал текстовый, иерархический и удобный метод навигации по онлайн-документам.
Происхождение и эволюция суслика
Протокол Gopher был разработан в 1991 году командой под руководством Марка П. МакКахилла из Университета Миннесоты. Названный в честь талисмана университета «Золотого суслика», протокол первоначально использовался для доступа к интернет-ресурсам на территории кампуса.
Простота Gopher и способность организовывать информацию иерархически сделали его популярным выбором среди пользователей Интернета до появления графической Всемирной паутины. Однако развитие Интернета, особенно после появления веб-браузера Mosaic в 1993 году, значительно затмило Gopher из-за способности Интернета отображать графику вместе с текстом и его более привлекательного интерфейса.
Углубленное исследование Gopher
Gopher основан на архитектуре клиент-сервер, в которой клиенты Gopher подключаются к серверам Gopher для запроса информации. Информация, представленная Gopher, организована в иерархическую структуру, подобную файловой системе. Когда пользователь выбирает ссылку Gopher, клиент отправляет запрос на сервер, который затем возвращает запрошенный документ или каталог ссылок, если ссылка является каталогом.
Протокол также поддерживает поиск по ключевым словам: клиент Gopher может отправить строку поиска на сервер Gopher, и сервер вернет все документы, соответствующие строке поиска. Однако стоит отметить, что Gopher не поддерживает более продвинутые функции современных протоколов, такие как HTTPS, файлы cookie или интерактивные формы.
Внутри Gopher: понимание механизма его работы
Gopher работает по модели клиент-сервер, где клиенты Gopher отправляют запросы на серверы Gopher для получения информации. Сервер отвечает отправкой запрошенного текстового файла или меню. Меню представляют собой простые текстовые файлы со строками, обозначающими пункты меню. Каждый элемент содержит удобочитаемое имя и адрес сервера, на котором этот элемент можно найти.
Gopher использует свою собственную уникальную схему URL-адресов. URL-адрес Gopher начинается с «gopher://» и включает адрес сервера, тип ресурса и строку селектора. Строка селектора — это путь к ресурсу на сервере.
Отличительные особенности суслика
- Простота: Дизайн Gopher прост, что позволяет легко создавать клиенты, серверы и документы Gopher.
- Иерархическая структура: Gopher представляет информацию в четком иерархическом формате, подобном файловой системе.
- Эффективное использование сети: Gopher использует меньшую пропускную способность, чем графические протоколы, такие как HTTP, что ускоряет просмотр при медленных соединениях.
- Возможность поиска: Gopher поддерживает поиск по ключевым словам на серверах Gopher.
- На основе простого текста: Документы Gopher в основном представляют собой обычный текст, хотя протокол также может распространять двоичные файлы.
Различные виды сусликов
В Gopher различные типы товаров идентифицируются с помощью односимвольного кода в начале строки товара. Некоторые из часто используемых типов элементов включают в себя:
Код типа | Описание |
---|---|
0 | Текстовый файл: этот тип элемента представляет документ или любой другой тип текстовых данных. |
1 | Каталог: этот тип элемента представляет собой меню Gopher, содержащее больше элементов. |
7 | Поисковая система: этот тип элемента указывает на индекс с возможностью поиска. |
9 | Двоичный файл: этот тип элемента используется для файлов нетекстовых данных, таких как изображения, аудио или видео. |
я | Информационное сообщение: этот тип элемента используется для отображения информационного текста в меню Gopher. |
Gopher в действии: использование, проблемы и решения
Несмотря на то, что Gopher менее популярен, чем Интернет, он по-прежнему имеет преданную базу пользователей, в первую очередь среди сообществ ретро-компьютеров и энтузиастов высоких технологий. Gopher используется для распространения текстовых документов и файлов, а также для создания удобных для навигации меню ссылок.
Однако Gopher сталкивается с некоторыми проблемами. Современные веб-браузеры не поддерживают Gopher по умолчанию, а в протоколе отсутствуют расширенные функции, такие как шифрование и файлы cookie. Тем не менее, для доступа к сайтам Gopher можно использовать выделенные клиенты Gopher и прокси-сервисы, и предпринимаются усилия по модернизации протокола, сохраняя при этом его простоту.
Сравнение с аналогичными протоколами
Особенность | Суслик | HTTP (Интернет) | FTP |
---|---|---|---|
Шифрование | Нет | Да | Да |
Печенье | Нет | Да | Нет |
Возможность поиска | Да | Да | Нет |
Иерархическая структура | Да | Нет | Да |
Будущее Gopher: что нас ждет?
Хотя Gopher может показаться пережитком прошлого, интерес к использованию и развитию этого протокола сохраняется, в первую очередь благодаря его простоте и эффективности. Разработчики работают над проектами по модернизации Gopher, например, над добавлением поддержки шифрования, а также постоянно предпринимаются усилия по созданию Gopher-эквивалента современной сети, известного как «Gopherspace».
Роль прокси-серверов с Gopher
Учитывая, что современные браузеры по умолчанию не поддерживают протокол Gopher, прокси-серверы играют важную роль в доступе к сайтам Gopher. Прокси-сервер Gopher-to-HTTP позволяет пользователям получать доступ к контенту Gopher с помощью стандартного веб-браузера. Прокси-сервер извлекает запрошенный контент Gopher и преобразует его в HTTP-контент, который может отображать браузер. Это обеспечивает мост между современной сетью и Gopher, позволяя пользователям исследовать уникальный текстовый мир Gopherspace.
Ссылки по теме
- Проект «Неправильный прикус»: Инициатива по возвращению Gopher в Firefox и Chrome.
- Публичный прокси-сервер Floodgap Gopher: общедоступный прокси-сервер Gopher-to-HTTP.
- Протокол Гофера: исходная спецификация протокола Gopher.
- Unix-система публичного доступа SDF: известный сайт Gopher.
- Лужайка для сусликов: тщательно подобранный список активных сайтов Gopher.