- O que é Gopher? 10 20 30 40 50 60 ---------+---------+---------+---------+---------+---------+-- O que é Gopher? 1. Introdução Gopher é um protocolo cliente-servidor sob TCP/IP de internet desenvolvido em 1991 pela Universidade de Minnesota idealizado para distribuição e recuperação de documentos online no campus. A principal característica do Gopher é apresentar seu conteúdo em forma de hierarquia de itens e diretórios, podendo ser chamado de hierarquia de menus, muito similar aos que utilizamos nos sistemas de arquivos de um computador. Cada item é identificado na comunicação e o cliente pode a partir destas identificações tomar uma ação que a melhor representa. 2. Algumas características técnicas Como dito, o protocolo Gopher é baseado na comunicação entre cliente e servidor via TCP/IP. A porta convencionada para a comunicação é a 70. Abaixo um esquema simples de uma comunicação básica de como uma lista de itens são enviadas para o cliente. CLIENTE SERVIDOR | | | | |---[Abre conexão TCP:70]---------==>| | | | |[Aceita em silêncio] | | |---[]--------------------==>| | (linha vazia) | | | | [Envia lista] | |<==---------------------------------| | 0About internet Gopher... | | 1Around University of Minnesota...| | 1Microcomputer News & Prices... | | 1Courses, Schedules... | | 1Student-Staff Directories... | | 1Departmental Publications... | | {...} | | . | # "ponto final | | sinalizando o | [Fecha conexão] | fim da lista" x------------------------------------x | | Em uma lista podemos observar os elementos que fazem parte do protocolo Gopher, sendo alguns deles: 1. O primeiro caracter da lista identifica o tipo do item, ou seja, um documento, um diretório, um serviço, etc. 2. Os próximos caracteres até uma tabulação são exibidos para o usuário para interação. O cliente pode de alguma forma renderizar o conteúdo a fim de fornecer uma ideia dos itens listados, podendo mas não se limitando na apresentação de icones, tabs, formatação, etc. 3. Os caracteres seguintes até a próxima tabulação são designados para os seletores, uma string seletora é enviado para o servidor onde é processada e definida o tipo de retorno para o cliente. Este retorno pode ser um arquivo, uma listagem de diretório, etc. Na prática a string seletora é um caminho para um diretório ou outro seletor de arquivo para ser processado e retornado com critérios parametrizados. 4. Os próximos dois campos delimitados por tabulação são reservados para o domínio do host e a porta de comunicação. Se houver mais caracteres após esta última tabulação o cliente Gopher simplesmente as ignoram. 5. O fechamento da comunicação é sinalizado por uma linha com apenas um ponto final. Exemplos: Foi utilizado para representar visualmente as tabulações. Repare que o primeiro exemplo foi omitido o seletor, já o segundo o seletor foi parametrizado. 1Cursos, Agendas, Datasuni.exemplo.edu9120 1DepartmentosStuff:DP:rawBits.micro.umn.edu70 3. Listas dos caracteres de tipos de itens 0 Item é um arquivo 1 Item é um diretório 2 O item é um servidor de lista telefônica CSO 3 Erro 4 O item é um arquivo BinHexed do Macintosh. 5 O item é um arquivo binário do DOS de algum tipo. O cliente deve ler até o fechamento da conexão TCP. Cuidado. 6 O item é um arquivo UNIX uuencoded. 7 Item é um servidor de pesquisa de índice. 8 O item aponta para uma sessão telnet baseada em texto. 9 O item é um arquivo binário! O cliente deve ler até o fechamento da conexão TCP. Cuidado. + Item é um servidor redundante T Item aponta para uma sessão tn3270 baseada em texto. g Item é um arquivo gráfico no formato GIF. I Item é algum tipo de arquivo de imagem. O cliente decide como exibir.