Come funziona il Web

Questa traduzione è incompleta. Aiutaci a tradurre questo articolo dall’inglese

Come funziona il Web spiega in modo semplice quello che accade quando visualizzi una pagina web sul browser del tuo computer o telefono.

Questa parte teorica non è essenziale sin da subito per scrivere il codice web, ma a breve ti avvantaggerà capire cosa c'è sullo sfondo.

Client e server

I computer connessi sul web sono chiamati client e server. Il seguente schema semplificato mostra come possono interagire tra loro:

I due cerchi rappresentano client e server. Due frecce indicano rispettivamente una richiesta dal client al server e una risposta dal server al client

  • I client sono tipicamente i dispositivi degli utenti connessi a Internet (ad esempio: il tuo computer connesso alla rete Wi-Fi o il tuo smartphone connesso alla rete mobile) e il software, presente su quei dispositivi, che ha accesso alla rete (solitamente un browser come Firefox o Chrome).
  • I server sono computer che ospitano pagine web, siti o applicazioni. Quando il dispositivo di un client vuole accedere a una pagina web, una copia della pagina viene scaricata dal server sulla macchina client per essere così visualizzata nel browser dell'utente.

Le restanti componenti del Web

La descrizione appena fatta di client e server non racconta l'intera storia. Ci sono altri numerosi elementi coinvolti che descriveremo di seguito.

Immaginiamo per adesso che la rete sia una strada. A un estremo della strada si trova il client, che è come la tua abitazione. All'altro estremo della strada c'è il server, che è come un negozio dal quale vuoi acquistare qualcosa.

Oltre al client e al server dobbiamo anche considerare:

  • La tua connessione a Internet: Ti permette di inviare e ricevere dati nella rete. In sostanza, rappresenta il pezzo di strada tra la tua abitazione e il negozio.
  • TCP/IP: Il Protocollo di Controllo di Trasmissione e il Protocollo Internet (TCP e IP in inglese) sono protocolli di comunicazione che definiscono come devono viaggiare i dati attraverso Internet. Sono simili al mezzo di trasporto che ti consente di effettuare un ordine, andare al negozio e fare acquisti. Nel nostro esempio, può trattarsi di una macchina o di una bici (o un qualsiasi altro mezzo con il quale desideri spostarti).
  • DNS: Il sistema dei nomi di dominio (Domain Name Servers in inglese) è l'equivalente di una rubrica di indirizzi per i siti web. Quando digiti un indirizzo web nel tuo browser, quest'ultimo si collega al server DNS per trovare l'indirizzo reale del sito prima di recuperare la pagina web. Il browser deve conoscere su quale server è ospitato il sito web, così da poter inviare dei messaggi HTTP nel luogo corretto (leggi di seguito). Questa procedura è simile alla ricerca dell'indirizzo del negozio in modo tale da poterci andare.
  • HTTP: Il protocollo di trasferimento di un ipertesto (HTTP in inglese) definisce un linguaggio che permette a client e server di comunicare tra loro. È simile al linguaggio che usi per effettuare i tuoi acquisti.
  • File che costituiscono il sito web: Un sito web è composto da numerosi e differenti file, i quali possono essere paragonati alle diverse parti delle merci che si acquistano nel negozio. Questi file possono essere distinti in due tipi:
    • File di codice: I siti web sono sviluppati basandosi soprattutto su HTML, CSS e JavaScript, anche se conoscerai a breve altre tecnologie.
    • Risorse: Questa categoria racchiude tutti gli altri oggetti che costituiscono un sito web, ad esempio: immagini, musica, video, documenti Word e PDF.

Ma allora: cosa accade esattamente?

Quando digiti un indirizzo web all'interno del tuo browser (seguendo la nostra analogia, è come raggiungere il negozio camminando):

  1. Il browser contatta il server DNS e cerca il reale indirizzo del server su cui è ospitato il sito web (equivale a trovare l'indirizzo del negozio).
  2. Il browser invia un messaggio di richiesta HTTP al server, chiedendogli di inviare una copia del sito web al client (equivale ad andare nel negozio e ordinare le merci). Questo messaggio e tutti gli altri dati inviati tra client e server sono inviati attraverso la tua connessione Internet, usando il protocollo TCP/IP.
  3. Se il server approva la richiesta del client, gli invia un messaggio con scritto "200 OK", che significa "Ma certo che puoi guardare quel sito web! Eccolo" e inizia quindi ad inviare i file del sito web al browser in una serie di piccoli pezzi chiamati pacchetti di dati (seguendo l'analogia, al negozio ricevi i tuoi acquisti e li porti a casa).
  4. Il browser assembla i piccoli pezzi in una pagina web completa e te la mostra (nell'analogia, l'ordine arriva alla porta di casa — sfavillante roba nuova, fantastico!).

Chiarimenti sul DNS

I veri indirizzi web non sono quelle stringhe semplici e facili da ricordare che inserisci all'interno della tua barra degli indirizzi per cercare i tuoi siti web preferiti. Sono piuttosto numeri speciali dall'aspetto simile a questo: 63.245.215.20.

Si chiama IP address e rappresenta una posizione unica nel Web. Ad ogni modo, non è molto facile da ricordare, non è vero? Ecco perché sono stati inventati i Domain Name Server. Si tratta di server speciali che abbinano l'indirizzo web che digiti all'interno del tuo browser (come "mozilla.org") all'indirizzo (IP) reale del sito internet.

I siti web possono essere raggiunti direttamente attraverso il loro indirizzo IP. Puoi trovare l'indirizzo IP di un sito web digitando il suo dominio in uno strumento tipo IP Checker.

Chiarimenti sui pacchetti

Prima abbiamo usato il termine "pacchetti" per descrivere il formato in cui i dati sono inviati dal server al client. Che cosa significa? In pratica, quando i dati vengono inviati in tutto il Web, essi sono inviati sotto forma di migliaia di piccoli pezzi in modo tale che differenti utenti possano scaricare lo stesso sito web contemporaneamente. Se i siti web fossero inviati sotto forma di grandi pacchetti singoli, solamente un utente alla volta potrebbe scaricare il che, ovviamente, renderebbe il Web davvero inefficiente e poco divertente da usare.

Vedi anche

Credit

Street photo: Street composing, by Kevin D.

In questo modulo