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