Explicado
Um servidor proxy é um intermediário de rede. Em vez de o seu cliente se conectar diretamente a um servidor de destino, ele se conecta ao proxy, o proxy se conecta ao destino, e o proxy transporta o tráfego em ambas as direções. Do ponto de vista do destino, a requisição se originou no proxy, não no seu cliente. Do seu ponto de vista, o proxy é transparente: você faz requisições como se estivesse contatando o destino diretamente.
O valor de um servidor proxy depende do que existe entre o cliente e o proxy. Para privacidade do consumidor, os proxies ocultam o IP do cliente do destino. Para coleta comercial de dados, os proxies roteiam o tráfego por meio de regiões geográficas específicas ou tipos de IP (residencial, ISP, móvel) para que o destino trate a requisição de forma diferente. Para infraestrutura interna, os proxies aplicam políticas, fazem cache de respostas e fornecem um único ponto de estrangulamento para o tráfego de saída.
O termo 'servidor proxy' abrange uma ampla família. Proxies diretos (o tipo descrito acima) ficam do lado do cliente e representam clientes perante a internet em geral. Proxies reversos ficam do lado do servidor e representam um backend perante os clientes. Proxies transparentes interceptam o tráfego sem configuração explícita do cliente. Cada formato resolve um problema diferente.
Como Funciona
Um fluxo típico de proxy direto: seu cliente abre uma conexão TCP com o servidor proxy, autentica-se se necessário e emite uma requisição CONNECT especificando o host e a porta de destino. O proxy abre sua própria conexão TCP com esse destino e encapsula os bytes entre as duas conexões. Para HTTPS, a criptografia é de ponta a ponta entre seu cliente e o destino: o proxy vê apenas bytes criptografados, não o conteúdo da requisição.
O proxy pode ser configurado por protocolo (HTTP CONNECT, SOCKS5), por geolocalização (saída através de um país/cidade escolhido), por sessão (fixa versus rotativa) e por método de autenticação (usuário/senha, lista de permissões de IP, token). Serviços de proxy comerciais modernos expõem tudo isso através da string de nome de usuário e dos parâmetros de conexão HTTP/SOCKS5.