2.1 O Lado do Cliente

A maioria dos clientes WWW são construídos no topo de libwww, a WWW Common Library, que trabalha com os diferentes protocolos de comunicação usados na Web: HTTP, FTP, Gopher, News e WAIS.

O suporte do proxy é feito automaticamente por clientes usando a libwww. Variáveis de ambiente são usadas para controlar a biblioteca. Existe uma variável de ambiente individual para cada protocolo de acesso; ex.: http_proxy, ftp_proxy, gopher_proxy e wais_proxy. Essas variáveis são configuradas para apontar para o proxy que deve servir as requisições desse protocolo, por exemplo:

	ftp_proxy=http://www_proxy.domain:911/
	export ftp_proxy

Normalmente um único servidor proxy trata todos os protocolos, mas, como vimos, não tem que ser assim.

Quando a variável de ambiente para um certo protocolo é definida, o código libwww faz que a conexão sempre seja feita para o proxy e não diretamente com o servidor remoto.

A última versão de libwww (2.15 de abril de 1994) suporta as chamadas "lista de exceções" que são localizações que devem ser atingidas sem o auxílio do proxy. Isso é extremamente útil quando o acesso trata-se de servidores locais, onde o acesso pode ser feito sem nenhum proxy.

Outra diferença no protocolo é que, como já exposto, a URL requisitada pelo cliente deve ser completa se for uma operação com o proxy. Essas são as únicas diferenças entre uma transação HTTP normal e uma com proxy. A simplicidade do suporte proxy faz com que mesmo clientes não baseados em libwww possam facilmente suportá-lo.

O suporte proxy é implementado somente pata HTTP/1.0 no lado do servidor: todos clientes devem usar esse protocolo. Isto não é um problema porque libwww faz isto automaticamente e a maioria dos clientes (se não todos) já têm sido atualizados para HTTP/1.0