0Pricing
Frontend Academy · Lezione

Browser, DNS e HTTP: il ciclo di vita di una richiesta

Segua un URL dalla barra degli indirizzi fino al browser, passando per la risoluzione DNS, la connessione TCP, la richiesta HTTP e la risposta del server.

Browser, DNS e HTTP: il ciclo di vita di una richiesta è una lezione Frontend Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Frontend Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Frontend Academy include 4 lezioni in totale.

Cosa succede quando si digita un URL?

Ogni volta che visita un sito web, il browser avvia una sequenza precisa di passaggi. Comprendere questa sequenza La rende un programmatore migliore: saprà dove possono verificarsi problemi e come velocizzare il processo.

Passaggio 1 — Risoluzione DNS

DNS (Domain Name System) è l'elenco telefonico di Internet. Il browser chiede a un resolver DNS: "Quale indirizzo IP corrisponde a example.com?". Il resolver controlla le cache e, se necessario, interroga i server dei nomi autorevoli.

# DNS lookup chain
# Browser cache → OS cache → Router cache → ISP resolver → Root NS → TLD NS → Authoritative NS

Passaggio 2 — Handshake TCP

Una volta noto l'IP, il browser apre una connessione TCP utilizzando l'handshake a tre vie: SYN → SYN-ACK → ACK. Per HTTPS, segue un handshake TLS che negozia la crittografia.

Passaggio 3 — La richiesta HTTP

Il browser invia una richiesta HTTP tramite la connessione TCP. La richiesta include un metodo (GET, POST…), il percorso (/index.html), la versione HTTP e intestazioni come Host e Accept.

GET /index.html HTTP/1.1
Host: example.com
Accept: text/html
User-Agent: Mozilla/5.0

Passaggio 4 — La risposta HTTP

Il server elabora la richiesta e restituisce una risposta: un codice di stato (200 OK, 404 Not Found…), le intestazioni della risposta (Content-Type, Cache-Control) e il corpo (HTML, JSON, byte di un'immagine).

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>...

HTTP/1.1 vs HTTP/2 vs HTTP/3

HTTP/1.1 invia una richiesta per connessione. HTTP/2 multiplexa molte richieste su un'unica connessione. HTTP/3 utilizza QUIC (basato su UDP) per ridurre la latenza, soprattutto sulle reti mobili soggette a perdita di pacchetti.

Codici di stato da conoscere

2xx = operazione riuscita (200 OK, 201 Created). 3xx = reindirizzamento (301 Moved Permanently, 304 Not Modified). 4xx = errore del client (400, 401, 403, 404). 5xx = errore del server (500, 502, 503).

HTTPS e TLS

HTTPS racchiude HTTP in TLS (Transport Layer Security). TLS fornisce: crittografia, così il traffico non può essere letto; autenticazione tramite certificati, per verificare che stia comunicando davvero con example.com; e integrità, per impedire che i dati vengano manomessi.

Caching: velocizzare le visite successive

Le risposte possono includere Cache-Control: max-age=86400, così il browser riutilizza per un giorno la copia memorizzata nella cache. Le intestazioni ETag e Last-Modified consentono al browser di verificare se la versione nella cache è ancora aggiornata.

Cache-Control: max-age=86400, immutable
ETag: "abc123"
Last-Modified: Wed, 01 Jan 2025 00:00:00 GMT

Cookie e sessioni

I server impostano i cookie con l'intestazione Set-Cookie. Il browser li invia automaticamente con ogni richiesta allo stesso dominio. Di solito, le sessioni consistono in un cookie che contiene un ID di sessione, associato dal server ai dati dell'utente.

CDN — Reti di distribuzione dei contenuti

Una CDN memorizza copie delle risorse del sito in centri dati distribuiti in tutto il mondo. Gli utenti scaricano i dati dal nodo più vicino, riducendo la latenza. Cloudflare, Fastly e AWS CloudFront sono CDN molto diffuse, utilizzate dalla maggior parte dei siti web di grandi dimensioni.

Verifica rapida

Quale metodo HTTP viene utilizzato per richiedere una pagina web a un server?

Riepilogo: il ciclo di vita completo di una richiesta

URL inserito → il DNS risolve il dominio nell'IP → connessione TCP (+ TLS) stabilita → il browser invia la richiesta HTTP → il server risponde con stato + intestazioni + corpo → il browser visualizza la risposta. Ogni passaggio è osservabile nel pannello Network di DevTools.

Domande Frequenti

La lezione «Browser, DNS e HTTP: il ciclo di vita di una richiesta» è gratuita?

Sì — il testo completo di «Browser, DNS e HTTP: il ciclo di vita di una richiesta» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Frontend Academy, passa a CoddyKit PRO. Il corso Frontend Academy include 4 lezioni in totale.

Cosa imparerò in «Browser, DNS e HTTP: il ciclo di vita di una richiesta»?

Segua un URL dalla barra degli indirizzi fino al browser, passando per la risoluzione DNS, la connessione TCP, la richiesta HTTP e la risposta del server. Eserciti Frontend Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Frontend Academy?

Non è richiesta alcuna esperienza precedente. Frontend Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Browser, DNS e HTTP: il ciclo di vita di una richiesta»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Frontend Academy?

Sì. Ogni lezione Frontend Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Browser, DNS e HTTP: il ciclo di vita di una richiesta
  2. HTML, CSS e JavaScript: il ruolo di ogni livello
  3. Come viene visualizzata una pagina: parsing, DOM, CSSOM, layout e paint
  4. Strumenti per sviluppatori: apertura e utilizzo di DevTools
← Torna a Frontend Academy