Retro: Gopher – História e descrição do protocolo Gopher

A última vez que era retro puramente software e na verdade não era tão retro, estávamos em 2000, quase nos tempos modernos. Não vou consertar o primeiro hoje, vou manter o hardware para algum momento da próxima vez, mas gostaria de mudar o segundo – pelo menos na introdução vamos avançar no início dos anos 90, quando foi criado o protocolo Gopher, que o artigo de hoje será sobre. Recentemente, ele celebrou seu trigésimo aniversário.

Se você olhar a Wikipedia, você aprenderá que Gopher é um protocolo de comunicação projetado para distribuir, pesquisar e recuperar documentos em redes baseadas em IP. Definições curtas têm a vantagem de poder criar uma visão inicial do assunto a partir delas, mas também a desvantagem fundamental da imprecisão absoluta. Existem milhares de protocolos semelhantes hoje, e em 1991 havia um número diferente de zero deles, então por que Gopher nasceu?

Primeiro, vamos falar sobre como era a Internet em 1991. Naquela época, o serviço claramente dominante de hoje – a WWW – existia em uma cópia no CERN (o público no sentido mais restrito possível da palavra foi mostrado em agosto de 91) e o e-mail mais usado, telnet, Usenet e FTP. Este último servia principalmente para a distribuição de arquivos, para usuários comuns, que naquela época começaram a aparecer cada vez mais, mas estava longe de ser simples. Por exemplo, quando um usuário Macintosh se conectava a um servidor FTP rodando Unix, de repente ele tinha que navegar pela estrutura de diretórios de um sistema completamente diferente, no qual não havia praticamente nada a ver com o que ele via diariamente em seu disco. Contra os quadros de avisos modernos dos anos 80, que costumavam ter uma interface de usuário agradável (claro que correspondia à época), um claro retrocesso.

Na Universidade Minessot, eles decidiram fazer algo a respeito e, em meados de 1991, eles criaram o Gopher. O objetivo era uma interface de usuário unificada e fácil de entender para acessar arquivos, baseada no protocolo mais simples possível. Mas como garantir que essa interface seja fácil de entender universalmente? Para administradores de Unix que não colocaram seus narizes para fora da casca durante toda a vida? Para proprietários de Apple II que passaram seu tempo no BASIC? Para IBM PC e usuários compatíveis, está acostumado com o Norton Commander? Para macieiras, amigistas e ataristas que clicam em tudo há muitos anos? Que conceito todos podem ter em comum? Cardápio!

O menu, ou seja, uma lista simples de itens para escolher, pode ser encontrado em praticamente todos os computadores que se preocupam em interagir com o usuário em tempo real. Mas você também pode encontrá-lo fora do mundo dos computadores – o cardápio também é uma lista de canais na TV e, afinal, o cardápio do restaurante, segundo o qual é chamado. O cliente do novo protocolo desenha um menu de texto simples para o usuário, onde uma linha é igual a um item. O protocolo de difusão deste menu é puramente textual e, além disso, realmente tão simples que não tem problemas com o seu processamento mesmo na altura da introdução de processadores obsoletos como o MOS 6502. A mascote da universidade e do futebol local equipe – roedor conhecido como gopher.

De acordo com a RFC 1436 (março de 1993), a estrutura de uma linha do protocolo Gopher é a seguinte:

Xpopis    cesta    server    port

Os itens individuais são separados por tabulações e a linha é encerrada por CRLF. Um pequeno menu de amostra tem a seguinte aparência:

0About (read this first!)       /about.txt      i-logout.cz     70 
0Changelog (read this as well!) /changelog.txt  i-logout.cz     70
1In Czech / V cestine   /cz     i-logout.cz     70
1Bongusta! phlog aggregator     /bongusta/      i-logout.cz     70
1Exit to random phlog: cdmnky's phlog    /users/cdmnky/phlog    sdf.org    70
1DistroWatch News in Gopherspace        /gdw/   i-logout.cz     70
7Search the Gopher with Floodgap's Veronica-2   /v2/vs  gopher.floodgap.com     70
7Search Gopherpedia     /lookup gopherpedia.com 70
8Plaintext maps         mapscii.me      23

O primeiro caractere em cada linha diz o tipo do item de menu. A lista de tipos existentes está sujeita ao tempo de criação, porém, a especificação permite a utilização de novos tipos não listados nela e cabe à aplicação cliente se terá condições de lidar com eles. Este é também o caso das duas últimas linhas da seguinte visão geral breve (e incompleta), que surgiu espontaneamente e, ainda hoje, são algumas das mais utilizadas.

0 Textový soubor
1 Gopherové menu
3 Chybová odpověď serveru
4 BinHex soubor (binární soubor pro Mac)
5 Binární soubor pro DOS
6 Soubor ve formátu uuencode
7 Fulltextové vyhledávání
8 Telnet
9 Nespecifikovaný binární soubor
g GIF
I Nespecifikovaný obrázek
h Odkaz na WWW/HTML
i Informační text

Como pode ser visto neste breve esboço, o menu gopher pode combinar livremente itens de arquivo e protocolo, locais e remotos, mas o usuário sempre vê um nome claro para ele, os outros não precisam lidar com isso.

(Menu Gopherové vyrenderované Netscape Navigatorem.)

Nos primeiros dois anos, mais ou menos, WWW e Gopher competiram de maneira mais ou menos equilibrada. Inicialmente, o Gopher teve um início melhor, principalmente porque era muito mais fácil mecanizar menus de texto simples do que a linguagem de documento de marcação hierárquica das primeiras versões de ambos os protocolos. O serviço estava, portanto, disponível para um maior número de usuários, pois a priori não excluía do jogo os proprietários de computadores antigos. Mas então o lançamento do foguete da teia começou e Gopher lentamente caiu no esquecimento. Os motivos principais foram dois:

  1. A web, falando de forma bastante objetiva, ofereceu uma melhor experiência ao usuário. As transições entre documentos e suas partes eram possíveis diretamente a partir deles, o que é uma característica geral do hipertexto, mas as pessoas o conheceram na grande maioria dos casos na web. Os menus unificados, o que há de mais interessante no Gopher, começaram a ser entendidos com o tempo como enfadonhos e desinteressantes, porque na web cada página pode parecer completamente diferente e ainda assim ser controlada da mesma forma – clicando em links. Em qualquer caso, os computadores antigos tornaram-se obsoletos com o tempo, ou o site poderia ser usado como uma boa desculpa para a compra de novos, então mesmo uma discussão na forma de menos complexidade não teve sucesso no final. E então foi a bola de neve – mais usuários significava mais sites, significava mais usuários e isso significava …
  2. Em 1993, durante as batalhas decisivas da guerra, a Universidade de Minnesota decidiu cobrar pela implementação de um servidor gopher. Não se sabia há muito tempo se isso não aconteceria no cliente ou mesmo no próprio protocolo, então várias implementações alternativas começaram a surgir. Um dos clientes alternativos do gopher era o NCSA Mosaic, normalmente um navegador da web. Então, quando um usuário comum viu em uma janela primeiro o menu gopher e depois a página da web, ele não fez a seleção por um longo tempo.

Já em 1994, o tráfego total do site foi superado pelo do Gopher, e no ano seguinte foi o último em que o evento oficial GopherCon aconteceu diretamente na universidade de origem.

Posteriormente, foi uma morte rápida, em vez de lenta, Gopher nem mesmo teve tempo de se espalhar para algumas partes do mundo, e estava acabado. Por exemplo, em nosso país, com exceção do servidor gopher da Câmara dos Deputados do Parlamento da República Tcheca, estava praticamente limitado ao ambiente universitário e científico.


Source: Diit.cz by diit.cz.

*The article has been translated based on the content of Diit.cz by diit.cz. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!