¿Cómo se redirige una solicitud HTTP al servidor con la dirección IP correspondiente?

La palabra “redirigir” es lo que tiene otros carteles que van en la dirección en que se fueron. Redirect tiene un significado muy específico con HTTP.

Veo que el Sr. Liu mencionó esto en una sola línea, pero creo que puede ser la respuesta que buscabas, así que voy a explicar su mención.

Una URL (localizador uniforme de recursos) se parece a esto:

http://go.somewhere.com/page2?it…

reexpresado:

protocolo: // dirección / recurso? parámetro = valor & par2 = val2

La parte importante para la entrega en Internet es tomar este “go.somewhere.com” legible para humanos y convertirlo en una dirección IP.

El Servicio de nombres de dominio (DNS) es el servicio que toma un Nombre de dominio totalmente calificado y legible por humanos y busca una dirección para ese FQDN. La parte de la dirección de la URL es el FQDN de un sitio web.

Si desea ver el contenido de las consultas y respuestas entre un cliente DNS y un servidor DNS, puede descargar e instalar el analizador de tráfico de red Wireshark en su computadora y ejecutar una “captura de red”, mientras ejecuta la captura, vaya a página web; cuando la página termine de cargar, detenga la captura. ¡Hay tanta información ordenada en un archivo de captura!

Aquí hay una ventana de comandos donde consulté DNS sobre dos FQDN diferentes.

Aquí está la lista de paquetes (DNS) realmente enviados y recibidos:

Aquí está el detalle sobre la solicitud en el paquete 26, “go.somewhere.com”:

Y la respuesta:

Y finalmente, aquí está el detalle detrás de las respuestas reales:

Como puede ver, mi dominio de “ejemplo” es realmente real. 🙂

En este caso específico :

1) go.somewhere.com es un registro de “alias” (CNAME), que se resuelve en “tottori-3022.herokussl.com”

2) tottori-3022.herokussl.com también es un alias que redirige al nombre de un ELB (balanceador de carga elástico) en Amazon Web Services (AWS); todo esto significa que este servicio está siendo proporcionado por alguien que utiliza AWS para hosting.

3) AWS ELB en realidad tiene tres IP públicas diferentes (tal vez más, pero solo se ofrecen tres) que un usuario puede usar para conectarse al sitio web detrás de “go.anywhere.com”.

HTH!

Esta pregunta es un poco ambigua, pero tratemos de aclarar un poco las cosas.

Puede parecer que está intentando preguntar cómo el Protocolo HTTP resuelve un nombre en una dirección IP. Es posible que desee ver esta pregunta: ¿Cómo funciona HTTP?

Pero, en HTTP, un “redireccionamiento” es un mecanismo conocido, donde una solicitud de una URL específica se dice que la respuesta se encuentra en otra URL, que se conoce como “redireccionamiento”. Debería ver el wiki, que lo explica en su totalidad: redirección de URL – Wikipedia

Por lo tanto, primero envía una solicitud http, si se recibe una respuesta para una redirección (una respuesta 302), recibirá otra URL. Luego, se realiza otra solicitud, donde se resuelve esa dirección final para ver qué IP es, luego se realiza una conexión TCP directa.

Si esto es un poco confuso sobre cómo funciona, vea las dos respuestas. Intente no mezclar capas (capa de aplicación 7, http, con capa de red 3 y 4, resolución dns y tcp), porque las cosas están sucediendo en diferentes partes en diferentes protocolos …

En resumen: su navegador simplemente abre una nueva conexión.

En la implementación en el mundo real hay tres enfoques diferentes.

  1. El servidor responde con el código de estado 301, 307 o 308, con una nueva URL en el campo “Ubicación” en el mismo encabezado de respuesta HTTP.
  2. El servidor responde con código de estado 200 normal y HTML, pero coloca una metaetiqueta Actualizar en la sección de encabezado HTML.
  3. El servidor responde con un código de estado 200 normal y HTML, pero coloca un fragmento de código Javascript que le dice a los navegadores que abran otra URL dentro de la misma ventana o marco.

Si se refiere a conexiones enviadas por r-proxy, equilibrador de carga u otras técnicas, como DNS round-robin, no se denominan “redirección HTTP”.

Si está preguntando cómo se convierte una cadena URL a IP, se llama “DNS resolver”.