Se eu quiser conectar para dizer IP 100.100.100.100, porta 80, meu computador enviará um pacote tcp com esse endereço ao fio.
Agora, se eu usar um servidor proxy, digamos, 200.200.200.200 Porta 8080 (esse tipo de proxy que você pode configurar no Internet Explorer) como esse processo é alterado?
Quando ainda quero conectar-me ao mesmo IP, o cabeçalho do IP incluirá o IP de destino ou o IP do proxy ou ambos?
Eu já pesquisei no Google, existem centenas de páginas que mostram como configurar um proxy, mas nenhuma explica como ele funciona.
fonte
O HTTP é um protocolo da camada 7, para não confundir. quando você usa um proxy HTTP e digita dizer google.com, o cabeçalho HTTP ainda é o mesmo google.com, mas o endereço IP de destino será o endereço IP do Proxy, a origem será o IP dos Hosts para o número da porta personalizada 8080.
fonte
Para usar um proxy HTTP, a solicitação é enviada do cliente para o endereço IP do servidor proxy e não para o servidor de destino. O proxy deve então ler o cabeçalho HTTP para extrair o URI da solicitação . O request-URI inclui o nome ou o IP do servidor de destino e o servidor proxy usa essas informações para encaminhar a solicitação.
A especificação HTTP permite que a linha de solicitação exclua o nome e a porta do servidor quando um proxy não for usado (pois isso seria desnecessário se a solicitação fosse enviada diretamente para esse servidor). Mas, de acordo com as especificações ...
Portanto, quando não estiver usando um proxy, a linha de solicitação poderá se parecer com:
mas para usar um proxy, a linha deve incluir o nome do servidor (e a porta, se não for 80):
O lado da resposta, se a operação puder ser mais simples, pois o servidor proxy pode simplesmente retransmitir a resposta literal por meio do soquete de solicitação pré-estabelecido.
fonte
Host
cabeçalho para concluir um URI parcial se um URI absoluto não for fornecido na linha de solicitação.Não existe "pacote tcp". O TCP opera com fluxos de dados. Existem pacotes IP.
Parece estar faltando algum conhecimento básico sobre redes, sugiro que você compre um bom livro sobre TCP / IP. O favorito de todos parece ser "TCP / IP ilustrado" por W. Richard Stevens.
Voltar à sua pergunta.
Um proxy é um intermediário:
[você] - [proxy] - [servidor que você deseja conectar]
Agora, existem duas conexões diferentes:
[você] - (sua conexão com o proxy) - [proxy] - (conexão do proxy com o servidor) - [servidor que você deseja conectar]
Quando você pensa que está se conectando a um servidor por meio de um proxy, na verdade está se conectando ao proxy e diz que deseja alcançar um determinado servidor. Em seguida, o proxy abre uma segunda conexão de si mesmo para esse servidor e atua como intermediário, transmitindo dados nas duas direções.
fonte