Cosa viene caricato quando navigo sul Web?


25

Sto usando un modem e mostra una velocità di download di n kbps e una velocità di upload di m kbps. Quando controllo i suoi registri, mostra la quantità di dati scaricati e caricati. Mi chiedo perché dimostri che ho caricato 3 MB di dati in un'ora, il che sembra eccessivo quando non carico mai nulla o utilizzo i torrent.

Quindi cosa sto caricando quando sto navigando sul web?

Risposte:


46

Per maggiori dettagli sul funzionamento delle connessioni e dei riconoscimenti TCP, vedere la risposta di Diogo

Quando visiti un sito, succede qualcosa del genere:

  1. Viene stabilita una connessione con il tuo server DNS (se non già fatto) di cui il tuo computer conosce già l'indirizzo IP (o tramite un meccanismo automatico che richiede queste informazioni al tuo ISP), inviando pacchetti per connettersi e riconoscere la connessione è stato fatto. Dopo aver effettuato la connessione, il tuo sito richiede l'indirizzo IP del sito che visiti in modo tale da sapere quale computer contattare per ottenere il sito. Ciò significa che invia un pacchetto contenente il nome di dominio per ottenere quella risposta. Successivamente invia anche un pacchetto per chiudere la connessione.

  2. Viene stabilita una connessione al server Web che ospita il sito che si desidera visitare, questo invia nuovamente un pacchetto per connettersi e riconoscere la connessione. Successivamente effettua una richiesta per la pagina che si desidera visitare, inviando nuovamente un pacchetto. Quindi risponde e ti viene fornito l'HTML della pagina web che indica la struttura della pagina (non il layout).

  3. Poiché hai solo la struttura, devi comunque recuperare il resto. Quindi, vengono richieste ulteriori richieste (una domanda SU è come 40 richieste) per ottenere script, stili e contenuti multimediali come immagini e simili. E poiché alcuni di questi potrebbero non trovarsi sullo stesso server Web visitato, potrebbe essere necessaria un'ulteriore risoluzione del DNS che riporta al passaggio 1.

  4. Inoltre, tieni presente che ogni pacchetto che ricevi viene riconosciuto aggiungendo ancora un'altra fonte di dati che viene caricata, per risparmiare sui pacchetti di solito vengono riconosciuti più pacchetti contemporaneamente. Pertanto, quando ricevi qualcosa, invierai al server che l'hai ricevuto, in modo che sappia che ciò che invia non si è perso da qualche parte. In questo modo, il server non deve provare a inviarlo di nuovo.

La linea di fondo è che non è possibile scaricare qualcosa senza prima collegarsi e caricare alcune richieste sui server da cui si sta scaricando. Ed è quello che compensa un piccolo upload ...

E non è che fai solo clic, fai di più, prendiamo la tua domanda come esempio: hai digitato circa 500 caratteri, un carattere conta come 1 byte (se il carattere ASCII, tutti sono in questo caso) e può essere da 1 a 4 byte (se un carattere Unicode). Quindi, la tua domanda richiede in realtà 0,5 KB o 0,00005 MB! Ma non è solo la domanda che ci viene inviata, è anche circondata da una richiesta POST o AJAX che chiede al server di archiviare la tua domanda e le intestazioni dei pacchetti stessi.

Se aggiungi tutto, diventa ragionevole raggiungere qualche megabyte in poche ore.


1
Tentativo di delineare la risposta di William riferendosi a Diogo mentre si è in viaggio, esaltare anche loro! :)
Tamara Wijsman,

2
E ho cercato di essere veloce quando avrei dovuto scrivere una risposta dettagliata come questa! Mi sembra sempre di perdere queste risposte che razzo cielo !!!
William Hilsum,

27

Il tuo caricamento si basa principalmente sulle richieste che devi fare digitando un indirizzo (ad esempio www.google.com) su un server web per richiedere una connessione HTTP a quel sito. Dopo queste richieste, il prossimo punto di caricamento sono gli ACK (riconoscimenti dalle connessioni TCP sul protocollo HTTP ) nel suo processo di handshake :

Nella rete di dati, un riconoscimento (o riconoscimento) è un segnale trasmesso tra processi di comunicazione o computer per indicare il riconoscimento o la ricezione della risposta, come parte di un protocollo di comunicazione. Ad esempio, i pacchetti ACK sono utilizzati nel protocollo di controllo della trasmissione per confermare la ricezione di pacchetti SYN quando si stabilisce una connessione, pacchetti di dati mentre viene utilizzata una connessione e pacchetti FIN quando si termina una connessione.

Per esemplificare, dai un'occhiata al diagramma TCP (usi TCP per navigare su Internet):

diagramma


15

Quando sei online, semplicemente, tutto ciò che proviene da una destinazione remota è un download e tutto ciò che invii è un upload.

Quindi, anche semplicemente richiedere una pagina Web consisterà nel fatto che la tua macchina (molto probabilmente) invii una richiesta DNS, si colleghi a un server web, invii una richiesta per una pagina, quindi invii una richiesta per ogni elemento / immagine / css / javascript su quella pagina .

3 MB per un'ora di utilizzo non è poi così tanto!


quando richiedo una pagina, tutto ciò che è correlato a quella pagina viene automaticamente o per ogni elemento una richiesta separata va menzionata?
Deb

1
@Debabratta viene inviata una richiesta separata per ogni risorsa . Uno per la pagina (con il contenuto - testo, markup - layout ecc.), Uno ciascuno per le varie immagini, file javascript, file css a cui si fa riferimento nella pagina. (A volte il browser utilizza la cache: la copia dell'immagine che hai scaricato l'ultima volta che hai visitato la pagina. Ma ciò comporta anche una richiesta per vedere se l'immagine è cambiata). Anche le richieste da flash, silverlight o altri plug-in simili si sommano.
Nivas,

2

Più dei normali pacchetti TCP e HTTP, dovresti anche imparare un po 'di alcune informazioni speciali che vengono acquisite dai tracker. Ottieni informazioni sul sito Web dedicato Ghostery .

Ingrandiscono solo i dati necessari !


0

Una ripartizione più semplice:

  • Pacchetti TCP per aprire una connessione al server
  • Pacchetti di richieste HTTP per ciascun componente di una pagina Web
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.