Cursos / Redes de Computadores / Redes de Computadores II / Aula

arrow_back Aula 04 - Proxy e Servidor Squid - Parte I

Servidores Proxy HTTP

Dadas as suas especificidades, normalmente servidores proxy irão trabalhar com uma aplicação em particular (ou um pequeno conjunto delas).

Atualmente, o serviço de web os utiliza de forma bastante disseminada, através dos proxies HTTP. Dessa forma, um proxy HTTP irá receber e repassar as mensagens de requisição e resposta enviadas por clientes e servidores, conforme mostrado na Figura 2.

Nessa figura, vemos o proxy em seu papel de intermediar a comunicação entre clientes e servidores. Nela também aparece um novo elemento de grande importância para os proxies HTTP, chamada de cache.

A cache nada mais é do que um espaço em disco onde são armazenadas as páginas já acessadas. Uma parte dessas páginas é também armazenada na memória principal (RAM),para agilizar o acesso a elas.

De modo resumido, podemos dizer que a cache funciona armazenando uma “cópia” de todas as respostas recebidas para as requisições dos clientes. Assim sendo, podemos ter o seguinte cenário:

  1. Cliente 2 tenta acessar a página http://www.imd.ufrn.br/;
  2. Proxy HTTP recebe a requisição e verifica se já possui em sua cache uma cópia da página solicitada;
  3. Assumindo ser a primeira vez que um cliente acessa a página, nenhuma referência a ela será encontrada na cache. O Proxy HTTP irá então encaminhar a requisição do cliente ao servidor de destino;
  4. Quando receber a resposta, o Proxy HTTP irá encaminhá-la para o cliente 2, guardando também uma cópia em sua cache.

Após algum tempo, outro cliente pode acessar a mesma página, situação em que teríamos o seguinte cenário:

  1. Cliente 4 tenta acessar a página http://www.imd.ufrn.br;
  2. Proxy HTTP recebe a requisição e verifica se já possui em sua cache uma cópia da página solicitada;
  3. Como esse é o segundo acesso à página, o proxy HTTP encontra uma cópia da página armazenada em sua cache;
  4. Proxy HTTP utiliza o mecanismo de GET-Condicional do protocolo HTTP, para se comunicar com o servidor web e verificar se a cópia da página encontrada em seu cache está atualizada.
    • Se a cópia existente na cache estiver atualizada, ela será entregue ao cliente, sem que o servidor de destino precise enviá-la novamente ao Proxy.
    • Se a cópia existente na cache não estiver atualizada, o servidor de destino enviará a página novamente ao Proxy, que a encaminhará ao cliente, e armazenará uma nova cópia na cache.

Versão 5.3 - Todos os Direitos reservados