¿Qué sucede exactamente cuando navegas por un sitio web en tu navegador?

¿Qué sucede exactamente cuando navegas por un sitio web en tu navegador?

¿Qué sucede detrás de escena cuando escribimos www.cnn.com en un navegador y cómo se muestra la información en la pantalla?

Se agradecería mucho una explicación técnica.

Respuesta1

Navegador:"Bien, tengo un usuario que solicita esta dirección: www.cnn.com. Supongo que como no hay barras ni nada, esta es una solicitud directa de una página principal. Tampoco había ningún protocolo ni puerto definido, así que Asumiré que es HTTP y va al puerto 80... oh, bueno, lo primero es lo primero. Hola, amigo, despierta. ¿Dónde se esconde este www.cnn.com?

DNS:"Bien... espera un segundo, le preguntaré a los servidores del ISP. Ok, parece 157.166.226.25".

Navegador:"Ok. Internet Protocol Suite, ¡tu turno! Llama al 157.166.226.25, por favor. Envíales este encabezado HTTP. Solicita la estructura básica y el contenido de su página principal para saber qué más buscar... oh bueno, eso no". Te importaría esto, supongo ".

TCP/IP:"Qué quieres decirmi turno? ¿Como si no estuviera trabajando allí mismo para el DNS? Dios, ¿qué se necesita para conseguir un poco de aprecio aquí...?

Navegador:...

TCP/IP:"Sí, sí... Conectándose... Simplemente le pediré a la puerta de enlace que lo reenvíe. Ya sabes, no es tan fácil, tendré que dividir tu linda solicitud en varias partes para que llegue al final, y ensamblar cualquier cosa que envíen de todos los miles de paquetes que recibo... ah, cierto, no te importan las cifras".

Mientras tanto, en la sede de CNN, un mensaje finalmente termina en la puerta del Servidor Web.

Servidor web CNN:"¡Nzhôô! ¡Un cliente! ¡Quiere noticias! ¡La portada! ¿Qué tal?"

Motor de script del lado del servidor CNN:"¡Bien, servirá! Portada, ¿verdad?"

Servidor de base de datos CNN:"¡Sí! ¡Trabaja para mí! ¿Qué contenido necesitas?"

Motor de script del lado del servidor CNN:"... um, lo siento DB, tengo una copia de la página principal aquí en mi caché, no es necesario compilar nada. Pero bueno, toma esta identificación de usuario y guárdala, también se la enviaré al cliente, así Sabemos con quién hablaremos más adelante".

Servidor de base de datos CNN:"¡Sí!"

De vuelta en la computadora del usuario...

TCP/IP:"Ooookay, aquí viene la respuesta. Oh chico, ¿por qué tengo el presentimiento de que esto será importante..."

Navegador:"Uh, vaya... esto tiene todo tipo de código javascript... un montón de imágenes, un par de formularios... Bien, esto llevará un tiempo renderizarse. Será mejor que lo hagamos. Oye, sistema IP, hay un necesitarás obtener muchas más cosas. Veamos, necesito algunas hojas de estilo de i.cdn.turner.com, a través de HTTP y solicite el archivo /cnn/.element/css/2.0/common.css. algunos de esos guiones en i.cdn.turner.com también, estoy contando seis hasta ahora..."

TCP/IP:"Ya me hago una idea. Sólo dame las direcciones del servidor y todo eso. Y envuelve ese archivo dentro de la solicitud HTTP, no quiero lidiar con eso".

DNS:"Comprobando i.cdn.turner.com... oye, un poco de trivia, en realidad se llama cdn.cnn.com.c.footprint.net. La IP es 4.23.41.126"

Navegador:"Claro, claro... espera un segundo, esto tomará unos cuantos nseg para procesarse, estoy tratando de entender todo este script..."

TCP/IP:"Oye, aquí está el CSS que pediste. Ah, y... sí, esos scripts adicionales también acaban de regresar".

Navegador:"Vaya, hay más... ¡una especie de anuncio de vídeo!"

TCP/IP:"Oh chico, qué divertido suena eso..."

Navegador:"¡También hay todo tipo de imágenes! Y este CSS se ve un poco desagradable... cierto, así que si esa parte va allí y tiene esta línea en la parte superior... ¿cómo diablos encajaría eso? No, yo Tendré que estirar esto un poco para hacerlo... Oh, pero ese otro archivo CSS anula esa regla... Bueno, esta no será una pieza fácil de renderizar, ¡eso es seguro!"

TCP/IP:"Está bien, está bien, deja de distraerme por un segundo, todavía hay mucho por hacer aquí".

Navegador:"Usuario, aquí hay un pequeño informe de progreso para usted. Lo siento, todo esto puede tardar unos segundos, hay como 140 elementos diferentes para cargar y hasta ahora vamos a 16".

Uno o dos segundos después...

TCP/IP:"Ok, eso debería ser todo. Oye, escucha... perdón por haberte gritado antes, ¿te las arreglas allí? Esto seguro que parece una gran carga para ti también".

Navegador:"Uf, sí, son todos estos sitios web hoy en día, seguro que no te lo ponen fácil. Bueno, me las arreglaré. Es para lo que estoy aquí".

TCP/IP:"Supongo que es bastante pesado para todos nosotros estos días... ¡oh, deja de regodearte con el DNS!"

Navegador:"¡Hola usuario! El sitio web está listo: ¡ve a recibir tus noticias!"

Respuesta2

Cómo funciona la web: HTTP y CGI explicados

También una gran explicación del CERN - alma mater de Web:como funciona la web

ingrese la descripción de la imagen aquí

Respuesta3

  • El navegador divide lo que escribe (la URL) en un nombre de host y una ruta.
  • El navegador genera una solicitud HTTP para solicitar los datos en el nombre de host y la ruta indicados.
  • El navegador realiza una búsqueda de DNS para resolver el nombre de host en una dirección IP.
  • El navegador forma una conexión TCP/IP con la computadora especificada a través de la dirección IP. (Esta conexión en realidad se forma a partir de muchas computadoras, cada una de las cuales pasa los datos a la siguiente).
  • El navegador envía la solicitud HTTP a través de la conexión a la dirección IP proporcionada.
  • Esa computadora recibe la solicitud HTTP de la conexión TCP/IP y la pasa al programa del servidor web.
  • El servidor web lee el nombre de host y la ruta y encuentra o genera los datos que usted solicitó.
  • El servidor web genera una respuesta HTTP que contiene esos datos.
  • El servidor web envía esa respuesta HTTP a través de la conexión TCP/IP a su máquina.
  • El navegador recibe la respuesta HTTP y la divide en encabezados (que describen los datos) y el cuerpo (los datos en sí).
  • El navegador interpreta los datos para decidir cómo mostrarlos en el navegador; normalmente se trata de datos HTML que especifican tipos de información y su forma general.
  • Algunos de los datos serán metadatos que especifican recursos adicionales que deben cargarse, como hojas de estilo para un diseño detallado, imágenes en línea o películas Flash. Estos metadatos se especifican nuevamente como una URL y todo este proceso se repite para cada uno hasta que se cargan todos.

Respuesta4

Lo que hasta ahora falta en las otras respuestas es lo que sucede en el lado de CNN:

  • Una máquina en CNN recibe el mensaje de su computadora solicitando la página.
  • Redirige esta solicitud a una de las muchas computadoras que CNN está usando para su sitio web (la razón de esto es que, de esta manera, puede distribuir el trabajo de armar las páginas web de respuesta en muchas computadoras).
  • La computadora de CNN recibe su solicitud y responde con una página web que probablemente esté casi completamente precalculada, pero tal vez cambie algunas cosas antes de enviársela (podría ser el anuncio en la parte superior, tal vez los titulares de noticias). A veces, las computadoras ensamblan la página a partir de muchos componentes pequeños cada vez que reciben una solicitud; No estoy seguro de lo que hace CNN
  • la respuesta llega a través de la red hasta su computadora, que luego la muestra.
  • la respuesta no incluía las imágenes: su computadora envía otra solicitud de imágenes y ocurre prácticamente el mismo escenario.

información relacionada