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.