5. Gopher +

Em 1993 foi proposta uma extensão ao protocolo Gopher original, a qual denominou-se Gopher+ [Gopher+]. Novas características foram agregadas ao protocolo original, mantendo-se a compatibilidade, com o propósito de enriquecer a sua funcionalidade.

Informações extras são transmitidas no final das linhas ou blocos de texto delimitadas por caracteres de tabulação. Adiciona-se geralmente o sinal de adição "+" no final do seletor informando a sua compatibilidade com o Gopher+. Os clientes e servidores antigos simplesmente ignoram tais informações. Um ítem pode ser descrito da seguinte forma:

1Visão do usuário<\TAB>Seletor<\TAB>Host<\TAB>Porta<\TAB>InfoExtra<\CR LF>

Os servidores podem responder a uma requisição de três maneiras distintas:

  1. +6900<\CR LF><\Dados>

    Indica que o servidor irá enviar 6900 bytes apos o próximo caracter de <\CR LF>. O símbolo de adição antes do 6900 indica que houve sucesso na pesquisa.

  2. +-1<\CR LF><\Dados><\CR LF>.<\CR LF>

    O servidor não consegue dizer quantos dados irá enviar, mas terminará a transmissão com um ponto e um <\CR LF> (similar ao protocolo Gopher original).

  3. +-2<\CR LF><\Dados>

    O servidor não consegue dizer quantos bytes irá enviar, e além disso, podem haver caracteres de <\CR LF>.<\CR LF> no conteúdo da transmissão. Portanto, o cliente deve esperar até que o servidor encerre a conexão TCP.

  4. --1<\CR LF><\Dados><\CR LF>.<\CR LF>

    O servidor indica que houve um erro que encontra-se descrito na parte de dados. O sinal de subtração neste caso sinaliza insucesso na pesquisa.

Por exemplo, pode-se definir o tipo do arquivo (a depender da aplicação) com base no seu conteúdo (Hipermídia, Texto, Gráfico, etc.). Outras informações como latitude, longitude do servidor também podem ser úteis se imaginarmos um visualizador Gopher em forma de mapa Mundi . O usuário entao, poderia selecionar graficamente uma pesquisa restrita aos limites de um continente ou país qualquer.

Outras cláusulas importantes visam facilitar a administração dos servidores e melhorar as funções de pesquisas nos servidores.

No primeiro caso, os arquivos podem ser monitorados frequentemente a partir de sua data de validade, ou seja, o administrador pode emitir relatórios de acompanhamento que informem que arquivos encontram-se possivelmente obsoletos. Isto auxilia na atualização constante da gama de informações nos servidores, bem como, na política de gerenciamento do espaço de armazenamento.

Outro aspecto importante preocupa-se em ajudar na aferição de pontos as pesquisas realizadas nos servidores. As estratégias de busca de arquivos devem preocupar-se em trazer as informações mais "interessantes" levando em conta uma série de parâmetros. Por exemplo, pode ser uma boa escolha atribuir a arquivos com datas mais recentes uma pontuação maior, tendo em vista que os usuários em geral preferem informações mais atualizadas. Este esquema também pode filtrar as respostas evitando o recebimento por vezes indesejável de dezenas ou centenas de opções que possam dificultar o usuário na sua escolha.

5.1 Exemplo de descrição de um objeto