Não exatamente: depende de como o cliente está configurado. Vamos usar o IE como exemplo básico.
Se você configurar o IE com um proxy explícito : por exemplo, nenhuma outra opção marcada, proxy definido como algo: 8080.
O usuário digita um endereço
O IE verifica o endereço para uma correspondência de seqüência de caracteres na lista de exceções do proxy do IE (por exemplo, "Ignorar proxy para esses endereços:")
uma. Se corresponder a uma entrada na lista Ignorar , o cliente usará seu próprio DNS para resolver o nome e, em seguida, o cliente se conectará diretamente ao endereço IP de destino na porta 80 (suposta) e enviará uma solicitação como:
GET /something.htm HTTP/1.1
Host: fulldomainame.example.com
b. Se nenhuma entrada da lista de derivações corresponder , continue:
O IE se conecta ao seu proxy configurado e envia uma solicitação do formulário:
GET http://fulldomainname.example.com/something.htm HTTP/1.1
Fact factoid bônus: esse uso do FQDN na URL é uma maneira de dizer que um cliente pensa que está falando com um proxy em vez de um servidor da Web real
O proxy resolve esse nome de host usando seu próprio DNS e se conecta ao site de destino (age como o cliente na etapa 2 acima), etc., etc.
Ao usar o WPAD / PAC:
No caso de usar um script WPAD (Web Proxy Auto Discovery) ou Proxy Auto Configuration (PAC ou Autoconfig), como os fornecidos pelo ISA / TMG quando a configuração automática está ativada, é diferente:
O usuário digita um endereço
O cliente baixa o arquivo wpad.dat / autoproxy.js / .pac atual a partir do local configurado
O cliente procura a função " FindProxyForUrl " no arquivo js e a executa
O script Autoproxy processa o nome do host e a URL . Este é um arquivo javascript de função limitada, mas muitas coisas ainda são possíveis:
uma. isso pode incluir resolução de nomes (IsInNet, DnsResolve)
b. isso pode incluir correspondência de sequência (ShExpMatch)
c. isso pode incluir contar até um milhão (i ++)
d. isso pode incluir mensagens pop-up de alerta narky se o administrador for um idiota
- (ou apenas engraçado)
- ((ou depuração))
A função FindProxyForUrl retorna pelo menos uma sequência : uma lista ordenada dos melhores proxies a serem usados (separados por ponto e vírgula)
uma. quer "DIRECT" , caso em que o cliente, então, precisa resolver o nome em si e se conectar diretamente, conforme o caso Bypass acima
b. ou "PROXY proxyname: 8080" ou similar; nesse caso, o cliente se conecta a essa porta nesse proxy, informa para OBTER a URL completa e o proxy executa a resolução de nomes .
- Como exemplo : se a função de script retornou "PROXY yourProxy: 8080; DIRECT" que informa ao cliente para conectar-se ao seu proxy na porta TCP 8080 para solicitar esse URL, e se essa conexão não puder ser estabelecida, tente ir direto.
Observe que a falha na configuração da sessão TCP não é exatamente rápida, portanto, não é provável que seja uma experiência agradável de failover para um usuário, mas não supera nada. Talvez.
Ocasionalmente, existem falhas, sutilezas e comportamentos inexplicáveis, mas, na maioria das vezes, quando as coisas não são quebradas de maneiras estranhas e interessantes, o que foi exposto acima é como eu a vi funcionar por muitos anos. Os navegadores mais recentes estão otimizando o comportamento, paralelizando coisas e tentando coisas interessantes o tempo todo. Portanto, consulte os documentos mais recentes do seu navegador para entender os detalhes.
Cliente de firewall WinSock Proxy / ISA / cliente TMG :
Se você está interessado no Winsock Proxy Client (do TMG / ISA Server), essa é uma história diferente, com mais flexibilidade e partes móveis. Há muito a ser abordado aqui, mas existem documentos que descrevem como ele funciona. Em resumo: conecta-se ao Windows Sockets e pode interceptar solicitações de tráfego e resolução de nomes baseadas em TCP / UDP por aplicativo e por usuário. Muito poderoso, mas também obsoleto agora e não é atualizado há vários anos.
Os clientes podem ser realmente pegajosos:
Uma observação final : depois que um cliente HTTP decide conversar com um proxy para um determinado site / URL, não há como o proxy dizer para não .
Não há código ou cabeçalho de status HTTP para "Não sirvo a isso, você deve ir diretamente a ele" ...
Depois que o cliente decide que um URL específico é veiculado por proxy , proxy-death-grip segue .
A única maneira de evitá-lo é obter a lógica de seleção antes que o cliente faça sua conexão, na lista PAC ou Bypass.
Uma nota final sobre arquivos de zonas e PAC
O IE trata sites que estão conectados DIRETAMENTE - mesmo que possuam pontos no URL - para fazer parte da Zona da Intranet Local (por padrão - configurável nas propriedades da Zona), e assim fará coisas como permitir a Autenticação Integrada do Windows para esses sites (por exemplo, Autenticação Kerberos e / ou NTLM, de forma transparente). Portanto, controlar se algo está na zona da intranet local define o quão confiável é em termos de autenticação automática. Novamente, pelo menos, por padrão.
Não tenho certeza de que sua parte do DNS esteja correta. Eu vi uma máquina sem servidores DNS válidos buscar páginas no IE usando um proxy.
fonte
Eu tento no ubuntu 10.04, wine, IE 6.0 e squid 2.7 (o sistema tem um dns e o squid tem outro servidor dns)
O IE 6.0 não resolve o nome DNS.
fonte
Eu não acho que sim - se você digitar o IP e o domínio na lista de exceções, ou o domínio, e o IP estiver na lista de exceções, provavelmente ainda continuará pelo proxy.
É possível que um proxy.pac / wpad.dat permita que você saia desse comportamento.
fonte