SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Este arquivo compõe a do CD MEGA
Este arquivo é parte integrante coletânea STC CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br

TUDO SOBRE PROXY
1.0 Introdução
Os proxies são principalmente usados para permitir acesso à Web através
de um firewall (fig. 1). Um proxy é um servidor HTTP especial que tipicamente
roda em uma máquina firewall. O proxy espera por uma requisição de dentro do
firewall, a repassa para o servidor remoto do outro lado do firewall, lê a resposta
e envia de volta ao cliente.

Figura 1: Visão geral de um proxy
O proxy está rodando ou em um servidor firewall ou qualquer outro servidor
interno que tenha acesso total a internet - ou em uma máquina dentro do
firewall fazendo conexões com o mundo exterior através de SOCKS ou
qualquer outro software firewall.

Normalmente, o mesmo proxy é usado por todos os clientes em uma
subrede. Isto torna possível para ele fazer caching eficiente de todos os
documentos requisitados.
A habilidade que o proxy tem no uso do cache, o torna atrativo para
aqueles que não estão dentro do firewall. Configurar um servidor proxy é fácil e
os mais populares programas clientes Web já tem suporte a essa ferramenta.
Sendo assim, torna-se simples a tarefa de configurar um grupo de trabalho
inteiro para usar o serviço de cache do proxy. Isto reduz os custos com tráfego

1
Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br

de rede porque muitos documentos que são requisitados são lidos do cache
local.
A metodologia atual é baseada em um código de gateway escrito por Tim
Berners-Lee como parte do libwww ( WWW commom Library). Kevin Altis, Ari
Luotonen e Lou Montulli foram os principais contribuidores para a padronização
do proxy. Lou Montulli, autor de Lynx, fez as primeiras mudanças no libwww em
colaboração com Kevin Altis. Ari Luotonen mantém o CERN httpd.

1.1 Porque um nível de aplicação proxy?
Um nível de aplicação proxy faz um firewall seguramente permeável para
os usuários na organização sem criar um furo na segurança onde hackers
poderiam entrar na rede da organização.
Para clientes Web, as modificações necessárias para suportar um nível de
aplicação proxy são menores (leva-se apenas 5 minutos para adicionar suporte
proxy para o Emacs Web Browser).
Não há necessidade de compilar versões especiais de clientes Web com
bibliotecas firewall, o cliente "out-of-the-box" pode ser configurado para ser um
cliente proxy. Em outras palavras, quando se usa proxy não necessitamos
customizar cada cliente para suportar um tipo ou método especial de firewall: o
proxy, em si, é um método padrão para acessar firewalls.
Usuários não têm que ter clientes FTP, Gopher e WAIS separados (muito
menos modificados) para acessar um firewall - um simples cliente Web com um
servidor proxy trata todos esse casos. O proxy também padroniza a aparência
de clientes Gopher e FTP.
O proxy permite que os programadores esqueçam as dezenas de milhares
de linhas de código necessárias para suportar cada protocolo e se concentrem
em coisas mais importantes - é possível ter clientes "peso-leve" que somente
compreendam HTTP (nenhum suporte nativo aos protocolos FTP, Gopher, etc)
- outros protocolos são manuseados transparentemente pelo proxy. Usando
HTTP entre o cliente e o proxy, nenhuma funcionalidade é perdida, pois FTP,
Gopher e outros protocolos Web são bem mapeados para o HTTP.
Clientes sem DNS (Domain Name Service) também podem usar a Web. O
endereço IP do proxy é a única informação realmente necessária. Organizações
usando endereços, por exemplo, classe A (como 10.*.*.*), em suas redes
particulares podem ainda acessar a internet contanto que o proxy seja visível
tanto para a rede particular como para a Internet.

2
Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br

Proxy permite um alto nível de log das transações de clientes, incluindo
endereço IP, data e hora, URL, contagem de bytes e código de sucesso.
Qualquer campo (seja de meta-informação ou seja comum) em uma transação
HTTP é um candidato para log. Isto não é possível com log no nível IP ou TCP.
Também é possível fazer a filtragem de transações de clientes no nível do
protocolo de aplicação. O proxy pode controlar o acesso a serviços por métodos
individuais, servidores e domínios, etc.
Outra feature interessante do proxy é a cache. O uso de cache é mais
efetivo no servidor proxy do que em cada cliente. Isto salva espaço em disco,
desde que somente uma cópia é guardada, como também permite um uso de
"cache inteligente", onde os documentos freqüentemente referenciados por
muitos clientes são guardados por um periodo mais longo de tempo pelo cache
manager.
O uso de cache também torna possível acessar algumas páginas mesmo
que servidores estejam fora do ar. Essa facilidade torna o serviço melhor, visto
que recursos remotos como um site FTP ocupado que são freqüentemente
inacessíveis remotamente podem ser agora acessíveis através do cache local.
Pode-se citar uma infinidade de usos que podemos fazer com o cache: fazer
uma demonstração de algum lugar com uma baixa velocidade de conexão, ler
documentos com a máquina não-conectada (obviamente após colocar todos
documentos no cache local), etc.
Em geral, autores de clientes Web não tem razão para usar versões de
firewalls em seus códigos. O proxy é mais simples para configurar do que
SOCKS e trabalha em todas as plataformas, não somente UNIX.

2.0 Detalhes Técnicos
Quando uma requisição HTTP normal é feita por um cliente, o servidor
pega somente o path e a "porção chave" da URL requisitada (Fig. 2); outras
partes, como o especificador de protocolo "http:" e o nome do servidor são
obviamente claros para o servidor HTTP remoto. O path requisitado especifica
um documento ou um script CGI no sistema de arquivos local do servidor; ou
ainda algum outro recurso disponível daquele servidor.
Quando um usuário entra:
http://mycompany.com/information/ProxyDetails.html
O browser converte para:
GET /information/ProxyDetails.html

3
Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br

Figura 2: Uma transação HTTP normal
O cliente faz a requisição ao servidor HTTP especificando apenas o recurso
relativo àquele servidor (nenhum protocolo ou nome de servidor é colocado
na URL).

Quando um cliente envia uma mensagem para um servidor proxy a
situação é um pouco diferente. O cliente sempre usa HTTP para transações
com o proxy, mesmo quando acessa um recurso oferecido por um servidor
remoto usando outro protocolo, como Gopher e FTP.
Entretando, ao invés de especificar somente o pathname e possíveis
palavras que complementariam a procura para o proxy (como ocorre em uma
requisição normal), todo a URL é especificada (fig.3 e 4). Desta forma o proxy
tem todas as informações necessárias para fazer a requisição para o servidor
remoto especificado na URL.
Nada melhor que um exemplo para clarear as coisas: se o usuário
digitasse a seguinte URL:
http://mycompany.com/information/ProxyDetails.html
O browser, sabendo da existência do proxy, converteria para a seguinte
requisição:
GET http://mycompany.com/information/ProxyDetails.html
O browser conecta-se então ao servidor e o proxy providencia a conexão
com a Internet. Nesse caso, o proxy converteria a requisição para:
GET /information/ProxyDetails.html

4
Este arquivo compõe a do CD MEGA
Este arquivo é parte integrante coletânea STCCURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br

Figura 3: Uma trasação HTTP com proxy.
O cliente faz uma requisição ao proxy usando HTTP mas especificando toda
a URL; o proxy se conecta ao servidor remoto e pede o recurso relativo
àquele servidor sem especificar protocolo ou o nome do servidor na URL

Figura 4: Trasação FTP com proxy.
O cliente faz a requisição ao proxy usando HTTP (embora o recurso seja um
FTP). O proxy analisa a URL recebida e percebe que deve abrir uma conexão
FTP. O resultado (o arquivo, no caso) é enviado para o cliente usando HTTP
Deste ponto o proxy age como um cliente para conseguir o documento:
ele chama o mesmo protocolo libwww que um cliente deveria chamar para que
o documento fosse obtido. Entretando, a "apresentação" do documento no
proxy é através de HTTP, independente do protocolo que foi usado para
consegui-lo. Um comando list, por exemplo, é retornado como um documento
HTML.

5

Mais conteúdo relacionado

Mais procurados

Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Jeff Prestes
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Leonel Morgado
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webernaniaz
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapRoberto Castro
 
Guia instalacao portal_web_sara
Guia instalacao portal_web_saraGuia instalacao portal_web_sara
Guia instalacao portal_web_sarajanu seriguela
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadCavalcante Treinamentos
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicaçãoTiago Tda
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)elliando dias
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxThiago Paes
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxThiago Paes
 

Mais procurados (20)

Servidor ftp
Servidor ftp Servidor ftp
Servidor ftp
 
Protocólo FTP
Protocólo FTPProtocólo FTP
Protocólo FTP
 
Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6
 
Slides nginx
Slides nginxSlides nginx
Slides nginx
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação web
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldap
 
Guia instalacao portal_web_sara
Guia instalacao portal_web_saraGuia instalacao portal_web_sara
Guia instalacao portal_web_sara
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpad
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicação
 
Dream 04
Dream 04Dream 04
Dream 04
 
Web service
Web serviceWeb service
Web service
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 

Destaque (14)

Curso de wml wap celular
Curso de wml   wap celularCurso de wml   wap celular
Curso de wml wap celular
 
Curso de ftp
Curso de ftpCurso de ftp
Curso de ftp
 
Curso asp - intermediario
Curso   asp - intermediarioCurso   asp - intermediario
Curso asp - intermediario
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
Curso de java
Curso de javaCurso de java
Curso de java
 
Curso java script
Curso java scriptCurso java script
Curso java script
 
Curso de java 02
Curso de java 02Curso de java 02
Curso de java 02
 
Dieta de emergência
Dieta de emergênciaDieta de emergência
Dieta de emergência
 
Curso de html
Curso de htmlCurso de html
Curso de html
 
Dicas de fundos graficos para web
Dicas de fundos graficos para webDicas de fundos graficos para web
Dicas de fundos graficos para web
 
Curso freehand
Curso freehandCurso freehand
Curso freehand
 
Curso de perl
Curso de perlCurso de perl
Curso de perl
 
Curso de cgi
Curso de cgiCurso de cgi
Curso de cgi
 
Curso de fire works
Curso de fire worksCurso de fire works
Curso de fire works
 

Semelhante a Curso de proxy

Gabarito comentado de Informática PF 2013
Gabarito comentado de Informática PF 2013Gabarito comentado de Informática PF 2013
Gabarito comentado de Informática PF 2013Concurso Virtual
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa videogonxalox
 
Trabalho Servidor FTP
Trabalho Servidor FTPTrabalho Servidor FTP
Trabalho Servidor FTPJunior Cesar
 
Internet (Fábio Melo)
Internet (Fábio Melo)Internet (Fábio Melo)
Internet (Fábio Melo)AisuSama
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo httpCarlos Veiga
 
1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-webangelnisia
 
Visão geral dos novos produtos da Cloudflare
Visão geral dos novos produtos da CloudflareVisão geral dos novos produtos da Cloudflare
Visão geral dos novos produtos da CloudflareCloudflare
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De InternetFredericoSilva
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheirosharik27
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaSoftD Abreu
 

Semelhante a Curso de proxy (20)

Filtro de conteúdo Proxy
Filtro de conteúdo   ProxyFiltro de conteúdo   Proxy
Filtro de conteúdo Proxy
 
Python CGI
Python CGIPython CGI
Python CGI
 
Gabarito comentado de Informática PF 2013
Gabarito comentado de Informática PF 2013Gabarito comentado de Informática PF 2013
Gabarito comentado de Informática PF 2013
 
Vantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidoresVantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidores
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa video
 
Apache htaccess
Apache htaccessApache htaccess
Apache htaccess
 
Trabalho Servidor FTP
Trabalho Servidor FTPTrabalho Servidor FTP
Trabalho Servidor FTP
 
Internet (Fábio Melo)
Internet (Fábio Melo)Internet (Fábio Melo)
Internet (Fábio Melo)
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo http
 
1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web
 
Visão geral dos novos produtos da Cloudflare
Visão geral dos novos produtos da CloudflareVisão geral dos novos produtos da Cloudflare
Visão geral dos novos produtos da Cloudflare
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 
Servidor proxy
Servidor proxyServidor proxy
Servidor proxy
 
Servidor proxy
Servidor proxyServidor proxy
Servidor proxy
 
Apostila internet
Apostila internetApostila internet
Apostila internet
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheiro
 
Aula 1
Aula 1Aula 1
Aula 1
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
 

Mais de Regisnaldo Alencar (10)

Curso de sql
Curso de sqlCurso de sql
Curso de sql
 
Curso de front page 2000
Curso de front page 2000Curso de front page 2000
Curso de front page 2000
 
Curso asp - basico
Curso   asp - basicoCurso   asp - basico
Curso asp - basico
 
Mini curso de flash
Mini curso de flashMini curso de flash
Mini curso de flash
 
Dieta dos 7
Dieta dos 7Dieta dos 7
Dieta dos 7
 
Dieta das proteinas
Dieta das proteinasDieta das proteinas
Dieta das proteinas
 
Dieta das proteinas ii
Dieta das proteinas iiDieta das proteinas ii
Dieta das proteinas ii
 
Curso de marketing de resultados
Curso de marketing de resultadosCurso de marketing de resultados
Curso de marketing de resultados
 
2335 inventor
2335 inventor2335 inventor
2335 inventor
 
Inventor
InventorInventor
Inventor
 

Curso de proxy

  • 1. Este arquivo compõe a do CD MEGA Este arquivo é parte integrante coletânea STC CURSOS www.trabalheemcasaoverdadeiro.com.br Acesse - www.megacursos.com.br TUDO SOBRE PROXY 1.0 Introdução Os proxies são principalmente usados para permitir acesso à Web através de um firewall (fig. 1). Um proxy é um servidor HTTP especial que tipicamente roda em uma máquina firewall. O proxy espera por uma requisição de dentro do firewall, a repassa para o servidor remoto do outro lado do firewall, lê a resposta e envia de volta ao cliente. Figura 1: Visão geral de um proxy O proxy está rodando ou em um servidor firewall ou qualquer outro servidor interno que tenha acesso total a internet - ou em uma máquina dentro do firewall fazendo conexões com o mundo exterior através de SOCKS ou qualquer outro software firewall. Normalmente, o mesmo proxy é usado por todos os clientes em uma subrede. Isto torna possível para ele fazer caching eficiente de todos os documentos requisitados. A habilidade que o proxy tem no uso do cache, o torna atrativo para aqueles que não estão dentro do firewall. Configurar um servidor proxy é fácil e os mais populares programas clientes Web já tem suporte a essa ferramenta. Sendo assim, torna-se simples a tarefa de configurar um grupo de trabalho inteiro para usar o serviço de cache do proxy. Isto reduz os custos com tráfego 1
  • 2. Este arquivo compõe a coletânea STC Este arquivo é parte integrante do CD MEGA CURSOS www.trabalheemcasaoverdadeiro.com.br Acesse - www.megacursos.com.br de rede porque muitos documentos que são requisitados são lidos do cache local. A metodologia atual é baseada em um código de gateway escrito por Tim Berners-Lee como parte do libwww ( WWW commom Library). Kevin Altis, Ari Luotonen e Lou Montulli foram os principais contribuidores para a padronização do proxy. Lou Montulli, autor de Lynx, fez as primeiras mudanças no libwww em colaboração com Kevin Altis. Ari Luotonen mantém o CERN httpd. 1.1 Porque um nível de aplicação proxy? Um nível de aplicação proxy faz um firewall seguramente permeável para os usuários na organização sem criar um furo na segurança onde hackers poderiam entrar na rede da organização. Para clientes Web, as modificações necessárias para suportar um nível de aplicação proxy são menores (leva-se apenas 5 minutos para adicionar suporte proxy para o Emacs Web Browser). Não há necessidade de compilar versões especiais de clientes Web com bibliotecas firewall, o cliente "out-of-the-box" pode ser configurado para ser um cliente proxy. Em outras palavras, quando se usa proxy não necessitamos customizar cada cliente para suportar um tipo ou método especial de firewall: o proxy, em si, é um método padrão para acessar firewalls. Usuários não têm que ter clientes FTP, Gopher e WAIS separados (muito menos modificados) para acessar um firewall - um simples cliente Web com um servidor proxy trata todos esse casos. O proxy também padroniza a aparência de clientes Gopher e FTP. O proxy permite que os programadores esqueçam as dezenas de milhares de linhas de código necessárias para suportar cada protocolo e se concentrem em coisas mais importantes - é possível ter clientes "peso-leve" que somente compreendam HTTP (nenhum suporte nativo aos protocolos FTP, Gopher, etc) - outros protocolos são manuseados transparentemente pelo proxy. Usando HTTP entre o cliente e o proxy, nenhuma funcionalidade é perdida, pois FTP, Gopher e outros protocolos Web são bem mapeados para o HTTP. Clientes sem DNS (Domain Name Service) também podem usar a Web. O endereço IP do proxy é a única informação realmente necessária. Organizações usando endereços, por exemplo, classe A (como 10.*.*.*), em suas redes particulares podem ainda acessar a internet contanto que o proxy seja visível tanto para a rede particular como para a Internet. 2
  • 3. Este arquivo compõe a coletânea STC Este arquivo é parte integrante do CD MEGA CURSOS www.trabalheemcasaoverdadeiro.com.br Acesse - www.megacursos.com.br Proxy permite um alto nível de log das transações de clientes, incluindo endereço IP, data e hora, URL, contagem de bytes e código de sucesso. Qualquer campo (seja de meta-informação ou seja comum) em uma transação HTTP é um candidato para log. Isto não é possível com log no nível IP ou TCP. Também é possível fazer a filtragem de transações de clientes no nível do protocolo de aplicação. O proxy pode controlar o acesso a serviços por métodos individuais, servidores e domínios, etc. Outra feature interessante do proxy é a cache. O uso de cache é mais efetivo no servidor proxy do que em cada cliente. Isto salva espaço em disco, desde que somente uma cópia é guardada, como também permite um uso de "cache inteligente", onde os documentos freqüentemente referenciados por muitos clientes são guardados por um periodo mais longo de tempo pelo cache manager. O uso de cache também torna possível acessar algumas páginas mesmo que servidores estejam fora do ar. Essa facilidade torna o serviço melhor, visto que recursos remotos como um site FTP ocupado que são freqüentemente inacessíveis remotamente podem ser agora acessíveis através do cache local. Pode-se citar uma infinidade de usos que podemos fazer com o cache: fazer uma demonstração de algum lugar com uma baixa velocidade de conexão, ler documentos com a máquina não-conectada (obviamente após colocar todos documentos no cache local), etc. Em geral, autores de clientes Web não tem razão para usar versões de firewalls em seus códigos. O proxy é mais simples para configurar do que SOCKS e trabalha em todas as plataformas, não somente UNIX. 2.0 Detalhes Técnicos Quando uma requisição HTTP normal é feita por um cliente, o servidor pega somente o path e a "porção chave" da URL requisitada (Fig. 2); outras partes, como o especificador de protocolo "http:" e o nome do servidor são obviamente claros para o servidor HTTP remoto. O path requisitado especifica um documento ou um script CGI no sistema de arquivos local do servidor; ou ainda algum outro recurso disponível daquele servidor. Quando um usuário entra: http://mycompany.com/information/ProxyDetails.html O browser converte para: GET /information/ProxyDetails.html 3
  • 4. Este arquivo compõe a coletânea STC Este arquivo é parte integrante do CD MEGA CURSOS www.trabalheemcasaoverdadeiro.com.br Acesse - www.megacursos.com.br Figura 2: Uma transação HTTP normal O cliente faz a requisição ao servidor HTTP especificando apenas o recurso relativo àquele servidor (nenhum protocolo ou nome de servidor é colocado na URL). Quando um cliente envia uma mensagem para um servidor proxy a situação é um pouco diferente. O cliente sempre usa HTTP para transações com o proxy, mesmo quando acessa um recurso oferecido por um servidor remoto usando outro protocolo, como Gopher e FTP. Entretando, ao invés de especificar somente o pathname e possíveis palavras que complementariam a procura para o proxy (como ocorre em uma requisição normal), todo a URL é especificada (fig.3 e 4). Desta forma o proxy tem todas as informações necessárias para fazer a requisição para o servidor remoto especificado na URL. Nada melhor que um exemplo para clarear as coisas: se o usuário digitasse a seguinte URL: http://mycompany.com/information/ProxyDetails.html O browser, sabendo da existência do proxy, converteria para a seguinte requisição: GET http://mycompany.com/information/ProxyDetails.html O browser conecta-se então ao servidor e o proxy providencia a conexão com a Internet. Nesse caso, o proxy converteria a requisição para: GET /information/ProxyDetails.html 4
  • 5. Este arquivo compõe a do CD MEGA Este arquivo é parte integrante coletânea STCCURSOS www.trabalheemcasaoverdadeiro.com.br Acesse - www.megacursos.com.br Figura 3: Uma trasação HTTP com proxy. O cliente faz uma requisição ao proxy usando HTTP mas especificando toda a URL; o proxy se conecta ao servidor remoto e pede o recurso relativo àquele servidor sem especificar protocolo ou o nome do servidor na URL Figura 4: Trasação FTP com proxy. O cliente faz a requisição ao proxy usando HTTP (embora o recurso seja um FTP). O proxy analisa a URL recebida e percebe que deve abrir uma conexão FTP. O resultado (o arquivo, no caso) é enviado para o cliente usando HTTP Deste ponto o proxy age como um cliente para conseguir o documento: ele chama o mesmo protocolo libwww que um cliente deveria chamar para que o documento fosse obtido. Entretando, a "apresentação" do documento no proxy é através de HTTP, independente do protocolo que foi usado para consegui-lo. Um comando list, por exemplo, é retornado como um documento HTML. 5