¿Cuáles son las series de pasos que suceden cuando se solicita una URL desde el campo de dirección de un navegador?

Esta es una pregunta cuya respuesta podría convertirse en un curso completo sobre redes, así que aquí hay una versión que solo detalla algunos de los casos. Probablemente podría haber preguntas de seguimiento.

  1. El navegador extrae el nombre de dominio de la URL.
  2. El navegador consulta DNS para la dirección IP de la URL. En general, el navegador tendrá dominios en caché visitados previamente y el sistema operativo tendrá consultas en caché de cualquier número de aplicaciones. Si ni el navegador ni el sistema operativo tienen una copia en caché de la dirección IP, se envía una solicitud al servidor DNS configurado del sistema. La máquina del cliente conoce la dirección IP del servidor DNS, por lo que no es necesaria ninguna búsqueda.
  3. La solicitud enviada al servidor DNS casi siempre es más pequeña que el tamaño máximo de paquete y, por lo tanto, se envía como un solo paquete. Además del contenido de la solicitud, el paquete incluye la dirección IP a la que está destinado en su encabezado. Excepto en el caso más simple (concentradores de red), a medida que el paquete llega a cada equipo de red entre el cliente y el servidor, ese equipo utiliza una tabla de enrutamiento para determinar a qué nodo está conectado y que es más probable que forme parte del equipo. ruta más rápida al destino. El proceso de determinar qué ruta es la mejor opción difiere entre los equipos y puede ser muy complicado.
  4. El se pierde (en cuyo caso la solicitud falla o se reitera) o llega a su destino, el servidor DNS.
  5. Si ese servidor DNS tiene la dirección para ese dominio, lo devolverá. De lo contrario, reenviará la consulta al servidor DNS al que está configurado para diferir. Esto sucede de forma recursiva hasta que se completa la solicitud o llega a un servidor de nombres autorizado y no puede continuar. (Si el servidor de nombres autorizado no reconoce el dominio, la respuesta indica falla y el navegador generalmente da un error como “No se puede encontrar el servidor en www.lkliejafadh.com”). La respuesta regresa al cliente máquina similar a la solicitud viajó al servidor DNS.
  6. Asumiendo que la solicitud de DNS es exitosa, la máquina del cliente ahora tiene una dirección IP que identifica de manera única una máquina en Internet. El navegador web luego ensambla una solicitud HTTP, que consiste en un encabezado y contenido opcional. El encabezado incluye cosas como la ruta específica que se solicita del servidor web, la versión HTTP, las cookies relevantes del navegador, etc. En el caso en cuestión (presionando Enter en la barra de direcciones), el contenido estará vacío. En otros casos, puede incluir datos de formulario como un nombre de usuario y contraseña (o el contenido de un archivo de imagen que se está cargando, etc.)
  7. Esta solicitud HTTP se envía al host del servidor web como cierto número de paquetes, cada uno de los cuales se enruta de la misma manera que la consulta DNS anterior. (Los paquetes tienen números de secuencia que les permiten volver a ensamblarse en orden, incluso si toman diferentes rutas). Una vez que la solicitud llega al servidor web, genera una respuesta (esta puede ser una página estática, servida tal cual, o más). respuesta dinámica, generada de varias maneras.) El software del servidor web envía la página generada de regreso al cliente.
  8. Suponiendo la respuesta HTML y no una imagen o un archivo de datos, el navegador analiza el HTML para representar la página. Parte de este proceso de análisis y representación puede ser el descubrimiento de que la página web incluye imágenes u otro contenido incrustado que no forma parte del documento HTML. El navegador enviará más solicitudes (ya sea al servidor web original o diferentes, según corresponda) para obtener el contenido incrustado, que luego se procesará en el documento.

Ver también:

  • http://en.wikipedia.org/wiki/Dom…
  • http://en.wikipedia.org/wiki/Rou…
  • http://en.wikipedia.org/wiki/Web…
  • http://en.wikipedia.org/wiki/HTML

Por lo que sé….

Cuando ingresas a google.com en la barra de direcciones del navegador, sucede la siguiente serie de cosas

1. el navegador necesita conocer la dirección IP numérica, por lo que primero busca en la memoria caché de su navegador, seguido de la memoria caché del sistema operativo, la memoria caché del enrutador, la memoria caché DNS del ISP, luego comienza una búsqueda recursiva en el servidor DNS del ISP a través del servidor de nombres TLD hasta encontrar la IP requerida dirección.

Existe un concepto de equilibrador de carga que también entra en juego. Es solo una pieza de hardware que escucha en una dirección IP particular y reenvía las solicitudes a otros servidores. Los sitios principales suelen utilizar equilibradores de carga caros de alto rendimiento

2. después de obtener la IP, el navegador envía una solicitud HTTP al servidor web

3. el servidor de google responde con una redirección permanente (301). le dice al navegador que vaya ” http://www.google.com/&quot ; en lugar de” http://google.com/&quot ;

4. El navegador sigue la redirección y envía otra solicitud Get

5. El servidor envía una respuesta HTML al cliente. el tipo de contenido del encabezado indica al navegador que presente el contenido de la respuesta como HTML, en lugar de decir que lo descargue como un archivo.

6.El navegador comienza a procesar el HTML y envía la solicitud de objeto incrustado en HTML, ya que muchos sitios entregan sus archivos CSS, imágenes / Sprite y archivos de secuencias de comandos desde una red de entrega de contenido ( CDN ). el navegador volverá a enviar la solicitud GET para cada una de las URL incrustadas, que nuevamente sigue el mismo procedimiento de búsqueda y otros pasos mencionados anteriormente.

7. Después de esto, el navegador puede enviar más solicitudes de AJAX para comunicarse con el servidor web incluso después de que la página se muestre.

así que esta es la imagen más amplia de cómo funciona esto. Hay muchos detalles de bajo nivel que omití intencionalmente (porque no los conozco: p)

Gracias por el A2A. Tomemos una visión general de alto nivel de una solicitud HTTP del navegador cuando se accede a Facebook:

  1. Ingresa ” http: //facebook.com&quot ; en la barra de direcciones.
  2. El navegador resuelve esto a la dirección IP numérica (esto puede ser almacenado en caché por el sistema operativo o requerir un viaje a un servidor DNS).
  3. El navegador emite una solicitud “HTTP / GET”. Transmite una solicitud HttpRequest que incluye metadatos sobre el navegador, las preferencias del usuario (como el idioma preferido) y las cookies almacenadas para ese dominio.
  4. Los servidores de Facebook reciben la solicitud y su código comienza a elaborar una respuesta.
    • Facebook utilizará la información transmitida, incluidas las cookies, para determinar quién es el usuario y qué información enviar
  5. Facebook devuelve una respuesta HTTP que incluye una línea de estado (200 OK, etc.). Encabezados que incluyen tipo de contenido, etc. y el cuerpo HTML.
  6. El navegador recibe la Respuesta y comienza a analizarla para mostrarla.
    • El cuerpo HTML incluirá enlaces a CSS, JS e imágenes. Todo esto activará llamadas adicionales a los servidores para recuperar esos bits
  7. El motor de diseño del navegador comenzará a armar la página final para su visualización.
    • La información CSS puede alterar el diseño y el aspecto de la página.
    • JS y DHTML pueden alterar el diseño de la página
  8. La página final se ensambla y se presenta al usuario final.

El artículo de Wikipedia Wikipedia Hyper Text Protocol es un buen punto de partida para el ciclo de vida de una solicitud HTTP.