Reti Informatiche Riassunto - Marzo 2019
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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