Gopher è un protocollo Internet progettato per distribuire, cercare e recuperare documenti su Internet. Sviluppato presso l'Università del Minnesota all'inizio degli anni '90, Gopher è stato un precursore del World Wide Web e offriva un metodo basato su testo, gerarchico e facile da usare per navigare nei documenti online.
La genesi e l'evoluzione di Gopher
Il protocollo Gopher è stato concepito nel 1991 da un team guidato da Mark P. McCahill presso l'Università del Minnesota. Il protocollo, che prende il nome dalla mascotte dell'università, il “Golden Gopher”, veniva inizialmente utilizzato per accedere alle risorse Internet del campus.
La semplicità e la capacità di Gopher di organizzare gerarchicamente le informazioni lo hanno reso una scelta popolare tra gli utenti di Internet prima dell'avvento del World Wide Web grafico. Tuttavia, l'ascesa del Web, soprattutto dopo l'introduzione del browser Web Mosaic nel 1993, ha messo in ombra Gopher in modo significativo a causa della capacità del Web di visualizzare grafica accanto al testo e della sua interfaccia più accattivante.
Esplorazione approfondita di Gopher
Gopher si basa su un'architettura client-server in cui i client Gopher si connettono ai server Gopher per richiedere informazioni. Le informazioni presentate da Gopher sono organizzate in una struttura gerarchica, simile a un filesystem. Quando un utente seleziona un collegamento Gopher, il client invia una query al server, che quindi restituisce il documento richiesto o una directory di collegamenti se il collegamento è una directory.
Il protocollo supporta anche la ricerca per parole chiave, in cui un client Gopher può inviare una stringa di ricerca a un server Gopher e il server restituisce tutti i documenti che corrispondono alla stringa di ricerca. Tuttavia, vale la pena notare che Gopher non supporta funzionalità più avanzate presenti nei protocolli moderni, come HTTPS, cookie o moduli interattivi.
All'interno del Gopher: comprendere il suo meccanismo di funzionamento
Gopher funziona su un modello client-server in cui i client Gopher inviano richieste ai server Gopher per ottenere informazioni. Il server risponde inviando il file di testo o il menu richiesto. I menu sono semplici file di testo con linee che rappresentano le voci di menu. Ogni elemento comprende un nome leggibile dall'uomo e un indirizzo del server in cui è possibile trovare l'elemento.
Gopher utilizza il proprio schema URL unico. Un URL Gopher inizia con "gopher://" e include l'indirizzo del server, il tipo di risorsa e la stringa del selettore. La stringa del selettore è il percorso della risorsa sul server.
Caratteristiche distintive di Gopher
- Semplicità: Il design di Gopher è semplice e semplifica la creazione di client, server e documenti Gopher.
- Struttura gerarchica: Gopher presenta le informazioni in un formato chiaro e gerarchico, simile a un filesystem.
- Utilizzo efficiente della rete: Gopher utilizza meno larghezza di banda rispetto ai protocolli grafici come HTTP, rendendo più veloce la navigazione su connessioni lente.
- Ricercabilità: Gopher supporta la ricerca di parole chiave sui server Gopher.
- Basato su testo semplice: I documenti Gopher sono principalmente testo semplice, sebbene il protocollo possa anche distribuire file binari.
Diversi tipi di Gopher
In Gopher, diversi tipi di articoli vengono identificati utilizzando un codice di un carattere all'inizio della riga dell'articolo. Alcuni dei tipi di articoli comunemente usati includono:
Digitare il codice | Descrizione |
---|---|
0 | File di testo: questo tipo di elemento rappresenta un documento o qualsiasi altro tipo di dato testuale. |
1 | Directory: questo tipo di elemento è un menu Gopher contenente più elementi. |
7 | Motore di ricerca: questo tipo di elemento indica un indice ricercabile. |
9 | File binario: questo tipo di elemento viene utilizzato per file di dati non testuali, come immagini, audio o video. |
io | Messaggio informativo: questo tipo di elemento viene utilizzato per visualizzare testo informativo all'interno dei menu Gopher. |
Gopher in azione: usi, sfide e soluzioni
Nonostante sia meno popolare del Web, Gopher ha ancora una base di utenti dedicata, principalmente all'interno delle comunità di retro-computing e di appassionati di tecnologia. Gopher viene utilizzato per distribuire documenti e file basati su testo e per creare menu di collegamenti facili da navigare.
Tuttavia, Gopher deve affrontare alcune sfide. I browser Web moderni non supportano Gopher per impostazione predefinita e il protocollo non dispone di funzionalità avanzate come crittografia e cookie. Tuttavia, per accedere ai siti Gopher è possibile utilizzare client Gopher dedicati e servizi proxy e si stanno compiendo sforzi per modernizzare il protocollo preservandone la semplicità.
Confronto con protocolli simili
Caratteristica | Gopher | HTTP (Web) | FTP |
---|---|---|---|
Crittografia | NO | SÌ | SÌ |
Biscotti | NO | SÌ | NO |
Ricercabilità | SÌ | SÌ | NO |
Struttura gerarchica | SÌ | NO | SÌ |
Il futuro di Gopher: cosa c'è in serbo?
Sebbene Gopher possa sembrare una reliquia del passato, c'è un interesse costante nell'utilizzo e nello sviluppo del protocollo, guidato principalmente dalla sua semplicità ed efficienza. Gli sviluppatori stanno lavorando su progetti per modernizzare Gopher, come l'aggiunta del supporto per la crittografia, e c'è uno sforzo continuo per creare un equivalente Gopher del Web moderno, noto come "Gopherspace".
Il ruolo dei server proxy con Gopher
Dato che i browser moderni non supportano il protocollo Gopher per impostazione predefinita, i server proxy svolgono un ruolo essenziale nell'accesso ai siti Gopher. Un proxy Gopher-to-HTTP consente agli utenti di accedere ai contenuti Gopher utilizzando un browser Web standard. Il server proxy recupera il contenuto Gopher richiesto e lo converte in contenuto HTTP che il browser può visualizzare. Ciò fornisce un ponte tra il Web moderno e Gopher, consentendo agli utenti di esplorare il mondo unico e incentrato sul testo di Gopherspace.
Link correlati
- Il progetto Overbit: Un'iniziativa per riportare Gopher su Firefox e Chrome.
- Proxy Gopher pubblico Floodgap: un proxy Gopher-to-HTTP pubblico.
- Il protocollo Gopher: la specifica del protocollo Gopher originale.
- Sistema Unix ad accesso pubblico SDF: Un noto sito Gopher.
- Il prato Gopher: un elenco curato di siti Gopher attivi.