Para obtener más detalles sobre cómo funcionan las conexiones TCP y los reconocimientos, consulte la respuesta de Diogo
Cuando visita un sitio, sucede algo como esto:
Se realiza una conexión con su servidor DNS (si no lo ha hecho) de la cual su computadora ya conoce la dirección IP (o mediante algún mecanismo automático que solicita esta información de su ISP), enviando paquetes para conectarse y reconocer la conexión fue hecho. Una vez que se ha realizado la conexión, su sitio solicita la dirección IP del sitio que visita de modo que sepa qué computadora contactar para obtener el sitio. Esto significa que envía un paquete que contiene el nombre de dominio para obtener esa respuesta. Más tarde, también envía un paquete para cerrar la conexión.
Se establece una conexión con el servidor web que aloja el sitio que desea visitar, esto nuevamente envía un paquete para conectarse y reconocer la conexión. Después de eso, realiza una solicitud de la página que desea visitar, nuevamente enviando un paquete. Luego responde y recibe el HTML de la página web que indica la estructura de la página (no el diseño).
Debido a que solo tiene la estructura, aún necesita obtener el resto. Por lo tanto, se realizan solicitudes adicionales (una pregunta SU es como 40 solicitudes) para obtener scripts, estilos y medios como imágenes y similares. Y debido a que algunos de estos pueden no estar en el mismo servidor web que visita, podría tener lugar una resolución adicional de DNS que lo llevará de regreso al paso 1.
Además de eso, tenga en cuenta que todos los paquetes que recibe son reconocidos agregando otra fuente de datos que se carga, para ahorrar en los paquetes, generalmente se reconocen múltiples paquetes a la vez. Por lo tanto, cuando reciba algo, lo enviará al servidor que lo recibió para que sepa que lo que envió no se perdió en ninguna parte. De esa manera, el servidor no tiene que intentar enviarlo nuevamente.
La conclusión es que no puede descargar algo sin primero conectar y cargar algunas solicitudes a los servidores desde los que está descargando. Y eso es lo que compensa una pequeña carga ...
Y no es que solo haga clic, haga más que eso, tomemos su pregunta como ejemplo: ha escrito alrededor de 500 caracteres, un carácter cuenta como 1 byte (si es un carácter ASCII, todos están en este caso) y puede ser de 1 a 4 bytes (si es un carácter Unicode). ¡Entonces, su pregunta en realidad toma 0.5 KB o 0.00005 MB! Pero no solo se nos envía la pregunta, también está rodeada por una solicitud POST o AJAX que le pide al servidor que almacene su pregunta y los encabezados de los paquetes.
Si agrega todo, se vuelve razonable alcanzar unos pocos megabytes en unas pocas horas más o menos.