Unidade C -Serviço Proxy/Cache

Aplicações do serviço proxy

Uma aplicação proxy bastante popular é o caching web proxy. Essa aplicação consiste em um proxy web usado com cache. Ela provê um cache de páginas da Internet e arquivos disponíveis em servidores remotos da Internet, permitindo aos clientes de uma rede local acessá-los mais rapidamente.

O funcionamento do proxy web é bastante simples. Quando este recebe uma solicitação de acesso a um recurso da Internet (especificado por uma URL, uma vez que estamos falando de serviço web), um proxy que usa cache procura por resultados desta URL no seu cache local. Se o recurso for encontrado, ele é retornado imediatamente, sem a necessidade de a informação ser buscada na rede externa. Caso contrário, ele carrega o recurso do servidor remoto, retornando-o ao cliente, e armazena uma cópia deste conteúdo no seu cache. O cache usa normalmente um algoritmo de expiração para a remoção de documentos de acordo com a sua idade, tamanho e histórico de acesso. Dois algoritmos simples são o Least Recently Used (LRU) e o Least Frequently Used (LFU). LRU remove os documentos que passaram mais tempo sem serem usados, enquanto o LFU remove documentos menos frequentemente usados.

O proxy também pode ser usado para navegar anonimamente. Diversos servidores de proxy públicos, também conhecidos como proxy abertos, estão disponíveis na Internet a fim de burlar as proteções oferecidas pelos gerentes de redes. Entretanto, a privacidade de servidores de proxy abertos foi já questionada. Este fato foi noticiado pelos jornais americanos, após um adolescente norte-americano descobrir, através da análise do código fonte de um site, que um famoso site para navegação anônima (proxy público), gerava logs com dados reais de seus usuários e os enviava para a polícia norte-americana. A navegação que deveria ser anônima não acontecia, e o usuário ainda tinha suas informações diretamente entregues à polícia. Note que usar o proxy para iludir sistemas de proteção não é um procedimento correto de se fazer. Contudo, muitos usuários de Internet fazem uso desta técnica para burlar sistemas de segurança, acessar sites proibidos, redes de relacionamento e etc. Acessar o Orkut ou o Facebook não é algo tão grave como, por exemplo, invadir um site do governo ou de um banco. Contudo, é politicamente incorreto, pois, fazendo isto estaremos desobedecendo às regras de acesso e de utilização da rede de computadores da qual somos usuários.

Veja que o proxy funciona graças à aplicação de filtros. Administradores de redes podem criar regras para filtrar requisições baseados no endereço IP do cliente, domínios, redes, localização (URL) do objeto requisitado, bloqueando assim requisições inapropriadas. Este artifício é utilizado principalmente em escolas e em organizações para que possam permitir o acesso a páginas que realmente sejam de seu interesse.

Um outro conceito relacionado com o serviço de proxy é o "proxy transparente". Um proxy transparente é um método que foi concebido para obrigar os usuários de uma rede a utilizarem o proxy. Além das características de caching dos proxies convencionais, estes podem impor políticas de utilização ou recolher dados estatísticos. A transparência é conseguida através da interceptação do tráfego web. Neste caso, ocorre um reencaminhamento para o proxy mediante a técnica de "port forwarding". Assim, independentemente das configurações explícitas do usuário, a sua conexão estará sempre condicionada às políticas de utilização da rede. O RFC 3040 define este método como "proxy interceptador".

Dito tudo isto, talvez você esteja pensando: "Puxa! Usar proxy significa bloquear o acesso dos usuários a diversos sites da Internet. Isto é uma coisa ruim!" Se pensarmos como administradores de redes veremos que às vezes torna-se necessária a imposição de algumas regras para que o bom uso dos recursos seja garantido. Embora o uso de proxy possa parecer inibidor à liberdade de ir e vir dos usuários do sistema, algumas vantagens ficam evidentes quando da sua utilização:

Além das aplicações já mencionadas, um serviço de proxy pode ser utilizado e configurado como um "proxy reverso". Um proxy reverso nada mais é do que um servidor "burro" que apenas recebe requisições e delega as mesmas, ou então faz algo simples, como devolver uma página pré-processada. Dizemos que ele é "burro" porque ele não sabe executar uma requisição por completo, ele é um "proxy de passagem" e não o servidor de verdade. A Figura 2 ilustra essa aplicação do serviço de proxy.