Si quiero conectarme para decir, IP 100.100.100.100, Puerto 80, mi computadora enviará un paquete tcp con esta dirección al cable.
Ahora, si uso un servidor proxy, por ejemplo, 200.200.200.200 Puerto 8080 (un tipo de proxy que puede configurar en Internet Explorer), ¿cómo se cambia este proceso?
Cuando todavía quiera conectarme a la misma IP, ¿el encabezado de la IP incluirá la IP de destino o la IP del proxy o ambas?
Ya busqué en Google, hay cientos de páginas que le dicen cómo configurar un proxy, pero ninguno explica cómo funciona bajo el capó.
fuente
HTTP es un protocolo de Capa 7, así que no te confundas. cuando utiliza un proxy HTTP y escribe, digamos google.com, el encabezado HTTP sigue siendo el mismo google.com, pero la dirección IP de destino será la dirección IP del proxy, la fuente será la dirección IP del host en el número de puerto personalizado 8080.
fuente
Para usar un proxy HTTP, la solicitud se envía desde el cliente a la dirección IP del servidor proxy en lugar de al servidor de destino. El proxy debe leer el encabezado HTTP para extraer el URI de solicitud . El URI de solicitud incluye el nombre o la IP del servidor de destino, y el servidor proxy usa esa información para reenviar la solicitud.
La especificación HTTP permite que la línea de solicitud excluya el nombre y el puerto del servidor cuando no se usa un proxy (ya que estos serían innecesarios si la solicitud se enviara directamente a ese servidor). Pero, según las especificaciones ...
Entonces, cuando no use un proxy, la línea de solicitud podría verse así:
pero para usar un proxy, la línea debe incluir el nombre del servidor (y el puerto, si no 80):
El lado de la respuesta si la operación puede ser más simple ya que el servidor proxy puede simplemente transmitir la respuesta literal a través del socket de solicitud preestablecido.
fuente
Host
encabezado para completar un URI parcial si no se proporciona un URI absoluto en la línea de solicitud.No existe el "paquete tcp". TCP opera con flujos de datos. Hay paquetes de IP.
Parece que le faltan algunos conocimientos básicos sobre redes, le sugiero que obtenga un buen libro sobre TCP / IP. El favorito de todos parece ser "TCP / IP ilustrado" por W. Richard Stevens.
De vuelta a tu pregunta.
Un proxy es un intermediario:
[usted] - [proxy] - [servidor al que desea conectarse]
Ahora hay dos conexiones diferentes:
[usted] - (su conexión al proxy) - [proxy] - (conexión del proxy al servidor) - [servidor al que desea conectarse]
Cuando cree que se está conectando a un servidor a través de un proxy, en realidad se está conectando al proxy y le dice que desea llegar a un determinado servidor. Luego, el proxy abre una segunda conexión de sí mismo a ese servidor y actúa como intermediario que pasa datos en ambas direcciones.
fuente