Gopher — це Інтернет-протокол, призначений для розповсюдження, пошуку та отримання документів через Інтернет. Розроблений в Університеті Міннесоти на початку 1990-х років, Gopher був попередником Всесвітньої павутини та запропонував текстовий, ієрархічний та зручний метод для навігації по онлайн-документах.
Генезис і еволюція 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 представляє інформацію в чіткому ієрархічному форматі, подібному до файлової системи.
- Ефективне використання мережі: Gopher використовує меншу пропускну здатність, ніж графічні протоколи, як-от HTTP, завдяки чому перегляд веб-сторінок у повільних з’єднаннях швидший.
- Можливість пошуку: Gopher підтримує пошук за ключовими словами на серверах Gopher.
- На основі звичайного тексту: Документи Gopher - це переважно звичайний текст, хоча протокол також може поширювати двійкові файли.
Різні види ховраха
У Gopher різні типи елементів ідентифікуються за допомогою односимвольного коду на початку рядка елемента. Деякі з типів предметів, які зазвичай використовуються, включають:
Тип коду | опис |
---|---|
0 | Текстовий файл: цей тип елемента представляє документ або будь-який інший тип текстових даних. |
1 | Каталог: цей тип елементів є меню Gopher, що містить більше елементів. |
7 | Пошукова система: цей тип елемента вказує на пошуковий індекс. |
9 | Двійковий файл: цей тип елемента використовується для файлів нетекстових даних, таких як зображення, аудіо або відео. |
i | Інформаційне повідомлення: цей тип елемента використовується для відображення інформаційного тексту в меню Gopher. |
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.
Пов'язані посилання
- Проект Overbite: ініціатива повернути Gopher у Firefox і Chrome.
- Публічний проксі Floodgap Gopher: загальнодоступний проксі Gopher-to-HTTP.
- Протокол Gopher: оригінальна специфікація протоколу Gopher.
- Система Unix загального доступу SDF: відомий сайт Gopher.
- Газон ховрашків: підібраний список активних сайтів Gopher.