edubun
Italiano

Che cosa succede quando apri una pagina web

Con un viaggio di andata e ritorno di 50 ms, una pagina HTTPS ha bisogno di almeno 4 viaggi di andata e ritorno, 200 ms, prima che arrivi il primo byte di HTML. HTTP/3 ne toglie uno.

Le sette e quaranta del mattino. Una studentessa su un treno affollato tocca un link al menu della mensa scolastica con i dati mobili, e un attimo dopo compare il menu del giorno. (È una scena inventata.) In quell'attimo il telefono ha fatto tutto quello che c'è nelle ultime cinque unità: una ricerca DNS, una connessione TCP, una sessione cifrata e una richiesta HTTP a cui è arrivata una risposta con un codice di stato. Segui il telefono passo per passo e conta le attese.

Prima il telefono legge il link

Supponiamo che il link sia https://www.example.com/index.html. MDN divide un URL in parti. https è lo schema: usa HTTP su una connessione TLS cifrata, sulla porta 443 se non ne è scritta un'altra. www.example.com è l'host, il nome che il DNS trasformerà in un indirizzo. /index.html è il percorso, la risorsa richiesta su quel server. Un URL può anche portare una query dopo un punto interrogativo e un frammento dopo un cancelletto. Il frammento indica un punto dentro la pagina e non viene mai mandato al server.

Quattro viaggi di andata e ritorno prima del primo byte

Il tempo che serve perché un messaggio arrivi al server e la risposta torni indietro è il tempo di andata e ritorno (RTT). Conta i viaggi di andata e ritorno e vedrai da dove viene l'attesa. Uno: se il nome non è in cache, la ricerca DNS costa circa un viaggio fino al resolver. Due: l'handshake TCP, SYN in uscita e SYN-ACK di ritorno. Tre: TLS 1.3 (RFC 8446) concorda le chiavi in un viaggio di andata e ritorno, e l'ultimo messaggio di handshake del client può viaggiare insieme alla richiesta HTTP. Quattro: la richiesta parte e la risposta torna. Con un RTT di 50 ms fanno 200 ms prima del primo byte del menu, anche se il server risponde all'istante.

Caricamento

Trascina per ruotare. Scorri o avvicina le dita per lo zoom.

Premi Passo successivo per aggiungere ogni messaggio, oppure Mostra tutto. Passa tra HTTPS, HTTP semplice e HTTP/3 e sposta il cursore del viaggio di andata e ritorno. Il conteggio sul bordo sinistro mostra quanti viaggi di andata e ritorno sono passati. Il tempo di elaborazione del server e la grandezza della pagina non sono considerati.

HTTP/3 (RFC 9114) funziona su QUIC (RFC 9000) invece che su TCP. QUIC sta sopra UDP e stabilisce insieme la connessione e le chiavi TLS, quindi il viaggio separato di TCP sparisce: DNS, un viaggio di andata e ritorno per l'handshake, poi la richiesta, tre in tutto. L'HTTP semplice sulla porta 80 salta TLS e ne richiede anch'esso tre, ma allora chiunque stia lungo il percorso, per esempio chi gestisce il Wi-Fi di un bar, può leggere o modificare la pagina. Il lucchetto nella barra degli indirizzi significa che la connessione con quel dominio è cifrata. Non significa che il sito in sé sia onesto.

Il menu arriva con un numero davanti

La risposta comincia con un codice di stato di tre cifre. La RFC 9110 raggruppa i codici secondo la prima cifra: 1xx informativi, 2xx successo, 3xx reindirizzamento, 4xx errore del client e 5xx errore del server. Quelli che incontrerai più spesso sono 200 OK, 301 Moved Permanently (la pagina ha un nuovo indirizzo), 404 Not Found e 500 Internal Server Error. Se la scuola avesse spostato la pagina del menu, il telefono riceverebbe prima un 301 e poi chiederebbe di nuovo al nuovo indirizzo. Un 404 vuol dire che il server ha risposto e non aveva niente a quel percorso, quindi la rete in sé funzionava.

Una pagina, tanti file

L'HTML è raramente tutta la pagina. Supponiamo che citi un foglio di stile, uno script e cinque immagini. Se il telefono aprisse una nuova connessione per ognuno, ogni file pagherebbe di nuovo i viaggi di andata e ritorno di TCP e TLS. Il browser invece tiene aperta la connessione e manda le richieste successive su quella, e con HTTP/2 e HTTP/3 più richieste viaggiano sulla stessa connessione contemporaneamente. I browser hanno anche una loro cache. Quando una risposta dice che può essere riusata per un certo tempo, alla visita successiva quel file si carica dalla memoria senza mandare nessuna richiesta. Solo quando i file sono arrivati il browser impagina e disegna quello che vedi. Ecco perché la pagina del menu che la studentessa apre ogni mattina compare più in fretta di un sito aperto per la prima volta, anche sulla stessa rete.

RTTTempo di andata e ritorno: il tempo per andare e tornare
200OK
301Moved Permanently
404Not Found
500Internal Server Error
HTTP/3HTTP su QUIC, che funziona su UDP
  1. L'RTT è di 50 ms. Quanto passa prima del primo byte di una pagina HTTPS (TCP + TLS 1.3), contando la ricerca DNS?
  2. Stesso RTT di 50 ms, ma con HTTP/3. Quanto passa?
  3. L'RTT è di 80 ms e il nome è già in cache. Quanto ci mette una pagina HTTPS su TCP?
  4. Metti in ordine queste fasi del caricamento di una pagina HTTPS.
  5. Che cosa significa 404?
    • Not Found
    • OK
    • Moved Permanently
    • Errore del server
  6. Quale classe di codici di stato indica un reindirizzamento?
    • 3xx
    • 2xx
    • 4xx
    • 5xx
  7. Quale porta usa https:// quando non è scritta nessuna porta?
  8. In https://www.example.com/index.html, che cos'è /index.html?
    • Il percorso
    • Lo schema
    • L'host
    • La porta
  9. Su quale trasporto funziona HTTP/3?
    • QUIC su UDP
    • TCP
    • DNS
    • ICMP
  10. Che cosa ti dice il lucchetto nella barra degli indirizzi?
    • La connessione con quel dominio è cifrata
    • Il sito è sicuro e onesto
    • Il sito non ha pubblicità
    • La pagina è stata caricata con HTTP/3
Errori comuni
  • «Il lucchetto significa che il sito è sicuro.» Il lucchetto dice solo che la connessione con quel dominio è cifrata con TLS. Anche un sito truffa può averlo, quindi controlla che il dominio sia quello che intendevi.
  • «La navigazione in incognito nasconde i siti che visito al mio provider e alla mia scuola.» La modalità in incognito impedisce al browser di conservare sul dispositivo la cronologia e i dati dei siti dopo la fine della sessione. La Guida di Google Chrome dice che i siti che visiti, e le organizzazioni che gestiscono la tua rete, come una scuola, un datore di lavoro o un fornitore di servizi internet, potrebbero comunque vedere la tua attività. I tuoi pacchetti attraversano gli stessi router in ogni caso.
  • «Un 404 significa che internet non funziona.» Un 404 è una risposta del server: è stato raggiunto e non ha niente a quel percorso. Quando la rete è davvero ferma, non arriva nessun codice di stato.
  • «La parte dopo il # in un link viene mandata al server.» Il frammento resta nel browser e serve solo a scegliere un punto dentro la pagina. Non viene mai mandato al server.
Nota per l'insegnanteQuesta unità tira le fila di tutto il corso, quindi prima di mostrare lo schema chiedete ai ragazzi di spiegare l'ordine con parole loro: perché il nome deve diventare un indirizzo prima di qualsiasi connessione, e perché la cifratura va impostata prima che parta la richiesta. Contare i viaggi di andata e ritorno è la parte che resta in mente. Fate a mano il caso di 50 ms, poi fate prevedere il totale prima di spostare il cursore. Gli errori sul lucchetto e sull'incognito non riguardano la velocità, ma dedicateci comunque qualche minuto, perché i ragazzi agiscono in base a entrambe le convinzioni.
Punti chiave
  • Un URL ha uno schema (https), un host (nome DNS) e un percorso.
  • HTTPS su TCP: DNS + TCP + TLS 1.3 + richiesta = 4 viaggi di andata e ritorno prima del primo byte.
  • HTTP/3 su QUIC unisce gli handshake: 3 viaggi di andata e ritorno.
  • Codici di stato: 2xx successo, 3xx reindirizzamento, 4xx errore del client, 5xx errore del server.
Fonti di questo corso (28)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
  • IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
  • RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
  • RFC 792 ICMP (Time Exceeded)
  • RFC 801 NCP/TCP transition plan (1 January 1983)
  • RFC 894 Ethernet (1500-byte payload)
  • RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
  • RFC 1122 (127.0.0.0/8 loopback)
  • RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
  • RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
  • RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
  • RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
  • RFC 8446 TLS 1.3 (one round-trip handshake)
  • RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
  • RFC 9293 TCP (three-way handshake, sequence numbers)
  • IANA: ip-parameters registry (recommended default TTL 64)
  • IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
  • Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
  • "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
  • Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
  • "What is HTTP/3?" (cloudflare.com/learning)
  • Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
  • Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
  • Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
  • History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
  • historyofinformation.com and Wikipedia ARPANET (Kline)
  • Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
  • Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)

Consultato il: 2026-10-17