browser - descripcion - ¿Qué pasa cuando escribes una URL en el navegador?
meta title kichink (3)
Atención: este es un boceto extremadamente simple y simplificado , asumiendo la solicitud HTTP más simple posible (sin HTTPS, sin HTTP2, sin extras), el DNS más simple posible, sin proxy, IPv4 de una sola pila, solo una solicitud HTTP, un servidor HTTP simple en El otro extremo, y sin problemas en ningún paso. Esto es, para la mayoría de los propósitos y propósitos contemporáneos, un escenario poco realista; todo esto es mucho más complejo en su uso real, y la pila de tecnología se ha convertido en un orden de magnitud más complicado desde que se escribió esto. Con esto en mente, la siguiente línea de tiempo sigue siendo algo válida:
- navegador comprueba caché; si el objeto solicitado está en caché y está actualizado, salte a # 9
- El navegador solicita al sistema operativo la dirección IP del servidor.
- El sistema operativo realiza una búsqueda de DNS y responde la dirección IP al navegador
- El navegador abre una conexión TCP al servidor (este paso es mucho más complejo con HTTPS)
- El navegador envía la solicitud HTTP a través de la conexión TCP.
- el navegador recibe respuesta HTTP y puede cerrar la conexión TCP o reutilizarla para otra solicitud
- el navegador verifica si la respuesta es una redirección o una respuesta condicional (códigos de estado de resultados 3xx), solicitud de autorización (401), error (4xx y 5xx), etc .; estos se manejan de manera diferente a las respuestas normales (2xx)
- si se puede almacenar en caché, la respuesta se almacena en caché
- El navegador decodifica la respuesta (por ejemplo, si está comprimido).
- el navegador determina qué hacer con la respuesta (por ejemplo, ¿es una página HTML, es una imagen, es un clip de sonido?)
- El navegador muestra la respuesta u ofrece un cuadro de diálogo de descarga para tipos no reconocidos.
Una vez más, la discusión de cada uno de estos puntos ha llenado innumerables páginas; tome esto solo como un resumen, resumido por el bien de la claridad. Además, hay muchas otras cosas que suceden en paralelo a esto (procesamiento de la dirección ingresada, búsqueda anticipada especulativa, adición de página al historial del navegador, visualización del progreso para el usuario, notificación de complementos y extensiones, representación de la página mientras se descarga, canalización, seguimiento de conexión para keep-alive, administración de cookies, comprobación de contenido malicioso, etc.), y toda la operación se vuelve un orden de magnitud más compleja con HTTPS (certificados y cifrados y pinning, ¡oh!).
¿Alguien puede decirme qué sucede detrás de las escenas desde el momento en que escribo una URL en el navegador hasta que veo la página en el navegador? Una explicación detallada del proceso sería de gran ayuda.
Busque la especificación de HTTP. O para comenzar, intente http://www.jmarshall.com/easy/http/
Primero la computadora busca el host de destino. Si existe en el caché de DNS local, utiliza esa información. De lo contrario, la consulta de DNS se realiza hasta que se encuentra la dirección IP.
Luego, su navegador abre una conexión TCP al host de destino y envía la solicitud de acuerdo con HTTP 1.1 (o podría usar HTTP 1.0, pero los navegadores normales ya no lo hacen).
El servidor busca el recurso requerido (si existe) y responde utilizando el protocolo HTTP, envía los datos al cliente (= su navegador)
Luego, el navegador utiliza el analizador HTML para volver a crear la estructura del documento que luego se le presenta en la pantalla. Si encuentra referencias a recursos externos, como imágenes, archivos css, archivos javascript, estos se entregan de la misma manera que el documento HTML en sí.