Reti Informatiche Riassunto - Marzo 2019

Pagina creata da Edoardo Scognamiglio
 
CONTINUA A LEGGERE
Reti Informatiche
    Riassunto

    Marzo 2019
Indice

1 Classificazione delle reti                                                                                                 2
  1.1 Topologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    2
  1.2 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                   5
  1.3 Estensione geografica . . . . . . . . . . . . . . . . . . . . . . .                                                    5

2 DNS                                                                                                                       6
  2.1 Struttura dati ad albero . . . . . . . . . . . . . . . . . . . . .                                                    6
  2.2 Organizzazione dei nomi di dominio . . . . . . . . . . . . . . .                                                      8
  2.3 Risoluzione del nome . . . . . . . . . . . . . . . . . . . . . . .                                                    9

3 Posta elettronica                                                                                                         11
  3.1 Architettura . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
  3.2 Formato dei messaggi      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
  3.3 Protocolli . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
  3.4 Webmail . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13

4 World Wide Web                                                           14
  4.1 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  4.2 URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  4.3 Protocolli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

                                                1
Capitolo 1

Classificazione delle reti

Una rete informatica è un insieme di dispositivi connessi tra loro attraverso
un sistema di comunicazione con lo scopo di condividere dati e informazioni.
La comunicazione tra i dispositivi è possibile solo se tutti adottano lo stesso
protocollo, cioè lo stesso insieme di regole di comunicazione.
     Un qualsiasi dispositivo connesso in una rete prende il nome di host.
     Con il termine Internet si intende la rete costituita dalle reti e dai
dispositivi di tutto il mondo.
     Le reti informatiche possono essere classificate in base a diversi parame-
tri, tra cui la topologia, l’architettura e l’estensione geografica.

1.1      Topologia
La classificazione per topologia divide le reti in base ai collegamenti tra i
vari dispositivi: prenderemo in considerazione la topologia a bus, ad anello,
a stella e a maglia.
    La figura seguente mostra una topologia di rete a bus: con bus si intende
il canale centrale di comunicazione che è condiviso tra tutti i dispositivi.

                          Figura 1.1: Topologia a bus

    Se un host qualsiasi, ad esempio A, vuole mandare un messaggio ad un
altro host connesso sul bus, ad esempio E, l’unica cosa che può fare è inviare il

                                        2
messaggio sul bus. Questo canale di comunicazione farà arrivare il messaggio
a tutti gli host connessi alla rete, non importa chi sia il destinatario effettivo
del messaggio: tutti gli host connessi alla rete riceveranno quindi tutti i
messaggi trasmessi sul bus.
    Nella topologia ad anello ogni host è connesso solamente ai due host
più vicini, formando cosı̀ una configurazione ad anello, come riportato nella
figura seguente.

                        Figura 1.2: Topologia ad anello

    In questa topologia, quando un host, ad esempio E, deve mandare un
messaggio ad un altro host, ad esempio H, può decidere di inviare il messaggio
verso destra, a D, oppure verso sinistra, a F. È chiaro che il percorso più breve
consiste nel mandare il messaggio verso F, ma E potrebbe non conoscere la
disposizione dei nodi nella rete. In ogni caso, quando un host riceve un
messaggio di cui non è il destinatario, ha il compito di ritrasmetterlo all’host
successivo, in modo che, prima o poi, possa giungere al destinatario previsto.
    In una topologia a stella, esiste un nodo centrale della rete che ha il
compito speciale di permettere la comunicazione tra gli altri host connessi in
rete. Nella figura seguente questo nodo centrale è rappresentato da Z.
    Il nodo centrale Z è in grado di consegnare un messaggio al destinatario
corretto poiché possiede una tabella in cui mantiene le informazioni su quali
host sono presenti sui vari collegamenti della rete. Questa tabella prende
il nome di tabella di instradamento, tabella di indirizzamento o tabella di
routing.
    La tabella seguente potrebbe essere un esempio di tabella di instrada-
mento per la rete della figura.

                                        3
Figura 1.3: Topologia a stella

                                 Host       Link
                                  A          3
                                  B          4
                                  C          1
                                  D          5
                                  E          6
                                  F          2

     In questo esempio se l’host B vuole mandare un messaggio all’host D,
deve semplicemente inviare il messaggio a Z. Il nodo centrale Z controlla chi
è il destinatario e ne individua il link corretto cercando nella tabella. In
questo caso, legge che D è il destinatario e vede che si trova sul link numero
5. Quindi invia il messaggio su questo link.
     L’ultima topologia di rete che consideriamo è quella a maglia: in questo
caso, non c’è un modo predefinito in cui gli host sono collegati tra loro. Un
esempio di questa topologia è riportato nella figura seguente.

                       Figura 1.4: Topologia a maglia

                                        4
Come abbiamo detto, la configurazione di questa topologia non è pre-
definita e, anzi, potrebbe addirittura cambiare nel tempo. Un messaggio
spedito da un host riesce ad arrivare al destinatario corretto perché ogni
host possiede una propria tabella di instradamento, come quella posseduta
dal nodo centrale nella topologia a stella. In questo caso, però, la tabella di
instradamento di un host contiene informazioni parziali relative agli host a
lui collegati.
    Ad esempio la tabella di instradamento di C contiene le informazioni solo
sugli host A e D, poiché questi sono gli unici host direttamente connessi a C.
Affinché un host possa inviare un messaggio a un qualsiasi altro host della
rete, a intervalli regolari gli host si scambiano le informazioni contenute nelle
proprie tabelle.

1.2      Architettura
Il secondo tipo di classificazione di una rete è basato sul tipo di architettura:
secondo questa classificazione, gli host di una rete possono appartenere ad
un’architettura client-server o ad un’architettura peer-to-peer.
     In una architettura di tipo peer-to-peer (cioè, da pari a pari e indicata
anche con P2P ), tutti gli host della rete sono in grado di svolgere le stesse
funzionalità: al più, sono i dati che non sono distribuiti uniformemente tra
tutti gli host e dovranno, eventualmente, essere scambiate.
     In una architettura di tipo client-server, invece, ci sono alcuni host della
rete che sono in grado di fornire un servizio (i server) mentre altri host della
rete hanno bisogno di questi servizi (i client).

1.3      Estensione geografica
L’ultimo tipo di classificazione delle reti è basato sull’estensione geografica
della rete. Secondo questo parametro, si possono avere LAN, MAN e WAN.
    Una rete LAN (Local Area Network) ha tipicamente un’estensione limi-
tata ad un edificio, come un appartamento, un’azienda o una scuola.
    Una rete MAN (Metropolitan Area Network) ha un’estensione dell’ordi-
ne di una città.
    Una rete WAN (Wide Area Network) ha l’estensione maggiore, dell’or-
dine di una regione o anche uno stato.

                                        5
Capitolo 2

DNS

Il Domain Name System è un protocollo di livello applicazione che si
occupa di gestire i nomi all’interno di Internet. Un protocollo di livello ap-
plicazione, solitamente, fornisce un servizio che viene direttamente utilizzato
da un utente (come la posta elettronica o il web). Tuttavia, DNS è un pro-
tocollo di supporto che è necessario per il corretto funzionamento degli altri
protocolli di livello applicazione e il suo impiego non è visibile ad un utente.
    Prima di vedere il funzionamento del protocollo DNS è necessario ricor-
dare che ogni dispositivo connesso in rete è identificato da un codice chia-
mato indirizzo IP : grazie a questo codice un dispositivo può comunicare con
qualsiasi altro dispositivo.
    Tuttavia, è molto difficile per un essere umano ricordare gli indirizzi IP
dei dispositivi con i quali vuole comunicare (un server che ospita un sito
web, un server di posta elettronica, ...) e, inoltre, questi indirizzi potrebbero
cambiare in qualsiasi momento per varie ragioni.
    Il protocollo DNS permette proprio di convertire un nome di dominio,
facilmente memorizzabile da un essere umano, in un indirizzo IP, utilizzato
dai protocolli di rete per gestire la comunicazione tra i dispositivi connessi
in una rete.
    I nomi di dominio sono organizzati secondo una struttura dati ad albero.

2.1      Struttura dati ad albero
In informatica, un albero è una struttura dati (cioè un modo di organizzare
i dati) formata da nodi che sono connessi tra di loro attraverso archi. Nella
figura seguente è mostrato un esempio di albero.

                                       6
Figura 2.1: Albero

    I nodi dell’albero sono stati indicati con le lettere dell’alfabeto men-
tre i collegamenti tra i nodi non hanno nome ma sono stati rappresentati
semplicemente con una linea.
    I collegamenti tra i nodi determinano una certa parentela tra di essi: i
nodi che hanno un collegamento con nodi inferiori sono genitori di questi
nodi, i quali a loro volta sono chiamati figli. Ad esempio, il nodo A possiede
un figlio, poiché è genitore del nodo D. Il nodo L possiede 3 figli: N, O e P.
Il nodo R ha anch’esso 3 figli ma non ha genitori. Il nodo H non ha figli.
    La caratteristica distintiva di un albero è che ogni nodo ha sempre e solo
un genitore, a parte il primo nodo. Non c’è invece alcun vincolo sul numero
di figli che un nodo può avere.
    I nodi di un albero possono essere suddivisi in tre tipi: la radice, i nodi
interni, le foglie. In un albero esiste sempre un’unica radice che di solito
viene rappresentata in cima all’albero. La radice è l’unico nodo dell’albero
che non ha genitore. Nel nostro esempio, R è la radice dell’albero.
    I nodi interni sono tutti quei nodi dell’albero che hanno figli (a parte la
radice). Nel nostro esempio, quindi, i nodi interni sono: A, B, C, D, E, G e
L.
    Le foglie sono i nodi dell’albero che non hanno figli. Di solito vengono
rappresentati nella parte inferiore dell’albero ma bisogna fare attenzione a
non tralasciare qualche nodo in mezzo all’albero che non ha figli (ad esempio,
F). Le foglie dell’albero nella figura sono: F, H, I, M, N, O e P.

                                       7
2.2      Organizzazione dei nomi di dominio
I nomi di dominio sono logicamente organizzati secondo una struttura ad
albero. Prendiamo, ad esempio, il nome www.bassi.gov.it che rappresenta
il dispositivo che ospita il sito web dell’Istituto Bassi. Per rappresentare
correttamente i nomi di dominio in una struttura ad albero, bisogna leggerli
al contrario, cioè da destra a sinistra.
    Innanzitutto, però, si parte da una radice che non ha nome. L’ultima
parte del nome, cioè it è chiamata dominio di primo livello ed è rappresentato
come un figlio della radice. Andando all’indietro, gov è il dominio di secondo
livello che è un figlio di it. Proseguendo in questo modo si tratta bassi
come figlio di gov e infine www come figlio di bassi. L’albero che contiene
questo nome di dominio è rappresentato nella figura seguente.

         Figura 2.2: Albero con nome di dominio www.bassi.gov.it

    La radice dell’intero sistema dei nomi di dominio è direttamente respon-
sabile solo dei domini di primo livello. A loro volta, i domini di primo livello
sono direttamente responsabili solo dei domini di secondo livello, e cosı̀ via.
    Ogni nodo dell’albero, fisicamente, è un programma chiamato name ser-
ver che conosce gli indirizzi IP di tutti i name server che sono suoi figli nel-
l’albero. Il name server radice (chiamato anche root name server ) conosce
quindi l’indirizzo IP di tutti i name server di primo livello, come it, com,
org, e cosı̀ via.
    I domini di primo livello sono suddivisi in domini generici e domini
nazionali. Tra i domini generici, i più utilizzati sono com per le attività
commerciali, edu per istruzione e ricerca, gov per la pubblica amministra-
zione, org per le organizzazioni non-profit. I domini nazionali fanno invece

                                       8
riferimento agli stati: abbiamo quindi it per l’Italia, us per gli Stati Uniti
d’America, jp per il Giappone, e cosı̀ via.

2.3      Risoluzione del nome
Quando una qualsiasi applicazione ha bisogno di contattare un dispositivo
di cui conosce solo il nome ma non l’indirizzo IP, questa applicazione fa una
richiesta a un software di sistema, chiamato name server locale (NSL, in
breve), che si occupa di trovare l’indirizzo IP associato al nome di dominio
richiesto. L’intero procedimento che consente di ottenere l’indirizzo IP di
un dispositivo a partire da un nome di dominio si chiama risoluzione del
nome.
    La risoluzione del nome inizia quindi con la richiesta di una qualsiasi
applicazione al NSL per convertire un nome di dominio in un indirizzo IP.
    A questo punto il NSL contatta, uno alla volta i name server responsabili
dei domini dei vari livelli presenti nel nome da risolvere, a partire dalla radice
e fino ad arrivare all’ultimo livello.
    Infine, ottenuto l’indirizzo IP del dispositivo associato al nome, restituisce
questo indirizzo IP all’applicazione che aveva presentato la richiesta iniziale.
    Vediamo con un esempio il funzionamento del secondo passaggio della
risoluzione del nome, cioè in che modo il NSL contatta i vari name ser-
ver. Supponiamo a questo proposito di voler risolvere il nome di dominio
www.bassi.gov.it. Ecco l’elenco dei passaggi che il NSL deve effettuare.

   1. Il NSL contatta il name server root più vicino (ci sono diverse repliche
      della radice per motivi di efficienza) chiedendo qual è il name server
      che gestisce il dominio di primo livello it. Il name server root risponde
      con l’indirizzo IP di questo name server.
   2. A questo punto il NSL contatta il name server che gestisce it per
      chiedere l’indirizzo IP del name server che gestisce il dominio di secondo
      livello gov. Il name server di it risponde con l’informazione richiesta.
   3. Quindi il NSL prosegue chiedendo al name server di gov chi gestisce il
      dominio bassi e riceve come risposta questo indirizzo IP.
   4. Infine il NSL chiede al name server di bassi l’indirizzo di www. Una
      volta ottenuta questa risposta, il NSL può comunicare questo indirizzo
      IP all’applicazione che ne aveva fatto richiesta.

   Le risposte che arrivano al NSL sono chiamate record di risorse: non
sono altro che l’associazione tra un nome e un indirizzo IP. Supponiamo però

                                        9
che poco dopo aver risolto il nome www.bassi.gov.it, al NSL giunga una
richiesta di risolvere il nome www.google.it. A questo proposito, non è più
necessario che il NSL chieda alla radice chi sia il name server che gestisce it,
poiché il NSL possiede già questa informazione dalla risoluzione del nome
precedente.
    Questo record di risorsa che contiene l’indirizzo IP del name server di it
era stato memorizzato e viene chiamato record cached. I record di risorsa
che devono invece essere chiesti, seguendo il normale procedimento, vengono
chiamati record autoritativi.
    Il NSL gestisce l’intera risoluzione del nome fino a che non possiede la
risposta completa: questo tipo di interrogazione si chiama ricorsiva. Invece
gli altri name server restituiscono solo risposte parziali, in base a ciò che
gestiscono: questo tipo di interrogazione si chiama iterativa.

                                      10
Capitolo 3

Posta elettronica

La posta elettronica è un protocollo di livello applicazione che ha lo sco-
po di riprodurre con dispositivi elettronici l’invio e la ricezione della posta
tradizionale.

3.1     Architettura
L’architettura della posta elettronica è composta da due elementi principali:
gli User Agent (UA, in breve) e i Message Transfer Agent (MTA, in
breve). Entrambi questi elementi sono programmi (software) che si occupano
di aspetti diversi del protocollo. La figura seguente mostra, in breve, lo
schema dell’architettura.

              Figura 3.1: Architettura della posta elettronica

    Lo UA è un software che ha diverse funzioni: consente di gestire l’intera
casella di posta, dividendo i messaggi ricevuti in diverse cartelle; fornisce
un’interfaccia grafica che permette di comporre agevolmente un messaggio
di posta; può cercare di rilevare automaticamente i messaggi di spam, cioè i
messaggi di posta indesiderata, come pubblicità o truffe.
    Un MTA è un software che ha il compito di spostare correttamente i
messaggi dal mittente al destinatario. Ogni MTA è relativo ad un forni-
tore specifico di posta: ad esempio, esiste un MTA per gmail.com, uno
per alice.it, uno per libero.it e cosı̀ via. Il MTA del mittente dipende
dall’indirizzo mail del mittente, il MTA del destinatario dipende dall’indi-
rizzo mail del destinatario. Nel caso in cui mittente e destinatario abbiano

                                      11
lo stesso dominio di posta (ad esempio, entrambi abbiano account di posta
di gmail.com), il MTA del destinatario è lo stesso MTA del mittente e il
passaggio chiamato trasferimento del messaggio viene omesso.

3.2     Formato dei messaggi
Un messaggio di posta elettronica possiede un formato ben preciso ed è com-
posta da due parti: l’involucro e il messaggio vero e proprio. L’involucro
incapsula il messaggio e contiene informazioni per il trasporto del messaggio,
cioè per far sı̀ che dal mittente possa giungere correttamente a destinazione.
Il messaggio è a sua volta diviso in due parti: l’intestazione e il corpo del
messaggio. L’intestazione contiene semplicemente informazioni di controllo
per lo User Agent mentre il corpo è il messaggio che viene materialmente
scritto dall’utente.
    L’intestazione di un messaggio contiene quelli che vengono chiamati cam-
pi di intestazione. I principali campi di intestazione sono: A, CC, CCN,
Da, Oggetto. Tutti questi campi, a parte Da, devono essere compilati dall’u-
tente.
    Il campo A deve contenere gli indirizzi dei destinatari principali del mes-
saggio. Il campo CC (che sta per Copia per Conoscenza) deve contenere gli
indirizzi dei destinatari secondari. Il campo CCN (cioè, Copia per Cono-
scenza Nascosta) contiene eventualmente gli indirizzi dei destinatari nasco-
sti: questi indirizzi vengono poi rimossi dai messaggi spediti ai destinatari
dei campi A e CC, che quindi non possono sapere che il messaggio è stato
anche inviato a questi destinatari nascosti. Il campo Da viene compilato
automaticamente dallo User Agent e contiene l’indirizzo mail del mittente.
Il campo Oggetto non è relativo agli indirizzi dei destinatari o del mittente:
deve invece contenere lo scopo del messaggio e deve far capire, con poche
parole, al destinatario il motivo per cui sta ricevendo il messaggio.

3.3     Protocolli
Nei vari passaggi che spostano il messaggio dallo UA del mittente allo UA
del destinatario vengono usati diversi protocolli.
    Il protocollo SMTP (Simple Mail Transfer Protocol) viene utilizzato per
la sottomissione della mail e per l’eventuale trasferimento del messaggio.
SMTP è un protocollo testuale che permette di spedire messaggi che con-
tengono solo caratteri presenti nel codice ASCII. Per permettere di inviare
messaggi contenenti lettere non presenti nel codice ASCII (come le vocali ac-

                                      12
centate) e caratteri di alfabeti non latini sono state sviluppate estensioni di
SMTP chiamate MIME (Multipurpose Internet Mail Extensions). In realtà,
oltre ad estendere i possibili caratteri con cui comporre un messaggio, MIME
si occupa anche di inviare i messaggi che contengono allegati.
    Per la consegna finale non viene utilizzato SMTP perché questo proto-
collo assume che il destinatario della comunicazione sia sempre disponibile:
questa caratteristica è tipica solamente dei MTA, che sono programmi sem-
pre attivi su dispositivi sempre accesi. Uno UA, invece, è attivo solo quando
l’utente accede al programma. Per questo motivo, nel passaggio della conse-
gna finale viene utilizzato un protocollo chiamato IMAP (Internet Message
Access Protocol). Questo protocollo è una versione aggiornata di un vecchio
protocollo, ancora però utilizzabile, chiamato POP3 (Post Office Protocol,
versione 3). Secondo il protocollo POP3, quando il MTA del destinatario
effettua la consegna finale del messaggio, elimina contemporaneamente il
messaggio dalla propria memoria: il messaggio è quindi trasferito completa-
mente allo UA che lo ha scaricato. Il protocollo IMAP, invece, non effettua
la cancellazione del messaggio dal MTA dopo la consegna finale: in questo
modo, se il dispositivo dell’utente subisce un guasto il messaggio è ancora
disponibile; inoltre, in questo modo l’utente può accedere ai suoi messaggi di
posta da diversi dispositivi.
    Infine, è utile ricordare che in tutti i passaggi può essere invocato il pro-
tocollo DNS nel caso in cui il dispositivo mittente (nei vari passaggi) non
possieda già l’indirizzo IP del destinatario ma solo il nome.

3.4      Webmail
Una webmail è un sito web che fornisce la stessa interfaccia e le stesse fun-
zioni di uno UA: come per un qualsiasi altro sito web, l’utente può accedervi
tramite un browser web. Se si utilizza una webmail, la prima parte del-
l’architettura della posta elettronica si modifica come riportato nella figura
seguente.

Figura 3.2: Architettura della posta elettronica se si utilizza una Webmail

                                        13
Capitolo 4

World Wide Web

Il World Wide Web (abbreviato in www) è un’infrastruttura per l’accesso
a documenti sparsi in milioni di macchine in internet. È nato nel 1989 per
scopi scientifici, cioè per coordinare gli esperimenti di fisica al CERN di
Ginevra, ma si è poi rapidamente evoluto e diffuso tanto che oggi ci si riferisce,
impropriamente, al web come a Internet.

4.1      Architettura
I documenti del web vengono chiamati pagine web; la loro caratteristica
fondamentale è essere ipertestuali: un ipertesto è un documento che con-
tiene collegamenti ad altri documenti. Per questo, il web è propriamente
una rete (web, in inglese), perché tutti i documenti sono collegati tra loro a
formare una grande rete mondiale di documenti.
    L’architettura del web è di tipo client-server: un sito web è un insieme di
pagine web presenti su una macchina su cui è sempre attivo un programma
chiamato server web (o semplicemente server). Per accedere alle pagine
del sito, è necessario utilizzare uno user agent, che in questo caso viene
solitamente chiamato browser web.
    La figura 4.1 mostra l’architettura di base del web: un browser (sul dispo-
sitivo dell’utente) che invia una richiesta secondo il protocollo HTTP a un
server web (su una macchina in qualsiasi parte del mondo), il quale risponde
al client fornendo la pagina web richiesta, tra quelle che possiede.
    Se le pagine web sono documenti che non cambiano in base alle richie-
ste dell’utente, allora vengono dette pagine statiche: diversi utenti che
richiedono la stessa pagina otterranno dal server la medesima risposta.
    Se invece le pagine possono essere generate su richiesta dell’utente (cioè,
in base ai dati che comunica) oppure contengono codice eseguibile, allora ven-

                                        14
Figura 4.1: Architettura del web

gono dette pagine dinamiche. Nel caso di pagine dinamiche, l’architettura
del server è più complessa, come mostrato nella figura 4.2.

         Figura 4.2: Architettura del web (con pagine dinamiche)

   In entrambi i casi, il protocollo utilizzato per la comunicazione tra client
web e server web si chiama HTTP (Hyper Text Transfer Protocol, cioè pro-
tocollo per trasferire ipertesti). È un protocollo testuale molto semplice che
prevede comandi di richiesta e risposta, oltre ad alcuni messaggi di errore.
   Una pagina web è un documento scritto in linguaggio HTML (Hy-
per Text Markup Language, cioè linguaggio per evidenziare ipertesti): ogni
parte della pagina viene denotata in base alle sue caratteristiche e alla sua
posizione.

4.2     URL
Prima di poter visualizzare una pagina web, un browser deve sapere come si
chiama la pagina, dove si trova e come si accede ad essa. Queste informazioni
sono contenute in un URL (Uniform Resource Locator ).

                                      15
Ogni URL è composto da 3 parti distinte: il protocollo (o schema), un
nome DNS e un percorso. Il protocollo stabilisce il modo in cui si può
accedere alla pagina web: tipicamente viene utilizzato il protocollo HTTP,
oppure il protocollo HTTPS nel caso si richieda un livello di sicurezza ag-
giuntivo. Il nome DNS indica su quale macchina si trova la pagina che si
vuole consultare: non bisogna infatti dimenticare che ad ogni nome DNS è
associata una macchina fisica, identificata univocamente da un indirizzo IP
(la risoluzione del nome viene attuata dal protocollo DNS). Il percorso in-
dica in maniera univoca dove si trova e come si chiama la pagina all’interno
della macchina.
    Un esempio di DNS è il seguente:
    http://www.cs.washington.edu/std/index.html
    Il protocollo utilizzato per accedere a questa pagina è http; il nome DSN
della macchina è www.cs.washington.edu; il percorso è std/index.html.
    Vediamo ora quali sono i passaggi effettuati da un browser web per
accedere alla pagina identificata dal precedente URL di esempio.

  1. Il browser legge l’URL e determina il nome di dominio.

  2. Il browser richiede al server DNS locale di risolvere il nome di dominio.

  3. Il server DNS locale risponde al browser con l’indirizzo IP corrispon-
     dente al nome di dominio.

  4. Il browser effettua una connessione alla macchina identificata dall’in-
     dirizzo IP ottenuto.

  5. Il browser invia una richiesta con il protocollo HTTP per ottenere la
     pagina.

  6. Il server web invia al browser la pagina richiesta.

  7. Se nella pagina sono presenti altri URL necessari alla visualizzazione
     (ad esempio, immagini), il browser risolve questi URL allo stesso modo.

  8. Il browser visualizza la pagina.

  9. Se non ci sono altre richieste in breve tempo, il browser rilascia la
     connessione al server.

    Abbiamo detto che un URL permette di identificare una pagina web,
facendo riferimento a un host specifico. A volte però si vuole far riferimen-
to a una risorsa nel web senza specificare lo specifico host su cui si trova.

                                        16
Ad esempio, per ridurre il traffico di rete, una pagina web potrebbe venire
replicata su diversi host distanti tra loro.
     A questo proposito, gli URL sono stati generalizzati in URI (Uniform
Resource Idenfier ), che possiede due sottoclassi: URL e URN. Mentre, come
abbiamo già detto, un URL dice dove si trova una risorsa, un URN (Uniform
Resource Name) indica solo il nome univoco della risorsa, senza specificare
il luogo in cui si trova.

4.3     Protocolli
La prima parte di ogni URL specifica il protocollo (chiamato anche schema)
con cui il browser può accedere alla risorsa indicata. Vediamo ora un elenco
dei protocolli più comuni che si possono trovare in un URL.

   • HTTP: il protocollo di base del web; spesso è sottinteso.

   • HTTPS: è identico al protocollo HTTP ma aggiunge un livello di sicu-
     rezza alla comunicazione; viene utilizzato nel caso si debbano comuni-
     care dati sensibili.

   • FTP (File Transfer Protocol): come dice il nome stesso, è un protocollo
     utilizzato per il trasferimento di file; questo protocollo è precedente alla
     nascita del web ma il suo utilizzo è stato ampiamente facilitato dal web.

   • File: è un protocollo utilizzato dal browser per visualizzare file locali,
     cioè file che si trovano sulla stessa macchina del browser.

   • MailTo: è un protocollo utilizzato per spedire messaggi di posta elet-
     tronica; tipicamente il browser non si occupa direttamente di questo,
     ma avvia lo User Agent predefinito di posta elettronica.

   • About: è un protocollo utilizzato per visualizzare informazioni e impo-
     stazioni relative al browser.

    Come nel caso della posta elettronica, anche per il web, con il tempo,
si sono rese necessarie diverse estensioni per soddisfare varie nuove esigenze.
Queste estensioni vengono indicate con MIME, che ha mantenuto addirit-
tura lo stesso significato che aveva per la posta elettronica (Multipurpose
Internet Mail Extensions).
    Nel caso del web, il MIME viene utilizzato per la visualizzazione di
contenuti non testuali. In particolare, le estensioni possono essere di 2 tipi:

                                       17
• Plug-in: una vera e propria estensione del browser che si occupa di
  visualizzare un file che non sia una pagina web; ad esempio, quasi tutti
  i browser hanno ormai un plug-in per visualizzare un file pdf all’interno
  del browser.

• Applicazione di supporto: in casi particolari, se un browser non pos-
  siede un plug-in per aprire un determinato file, può richiamare un pro-
  gramma che si trova sulla stessa macchina che sia in grado di farlo.
  In questo caso, il file da aprire viene temporaneamente salvato sulla
  macchina e poi viene richiamata l’applicazione che è in grado di aprirlo.

                                   18
Puoi anche leggere