Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I...

27
1 Rete di calcolatori: insieme di calcolatori, altri dispositivi di calcolo (telefoni cellulari, smartphone, telefoni VoIP, tablet, televisori e altri elettrodomestici, ecc...) e dispositivi di rete, if l di ll ti Cos’è Internet: le reti di calcolatori - I connessi fra loro per mezzo di collegamenti I collegamenti possono essere realizzati da diversi dispositivi fisici: linee telefoniche, fibre ottiche, collegamenti satellitari, ecc. I collegamenti consentono ai calcolatori, agli altri dispositivi di calcolo e a quelli di rete di comunicare fra loro a.a. 2017/18 Tecnologie Web 1 Per comunicare, calcolatori, altri dispositivi di calcolo e di rete utilizzano specifici protocolli di comunicazione Protocollo di comunicazione: insieme di regole per la trasmissione di informazioni Rete di reti: connette tra loro più reti di calcolatori, spesso con caratteristiche diverse Internet è una rete di reti Cos’è Internet: le reti di calcolatori - II Le singole reti hanno caratteristiche disomogenee: diversi protocolli di comunicazione (interni alle singole reti) diversi tipi di calcolatori, dispositivi di calcolo e di rete talvolta anche diverse convenzioni nella codifica delle informazioni a.a. 2017/18 Tecnologie Web 2 Tecnicamente, "internet" è l'insieme dei protocolli di inter- networking, cioè dei protocolli di comunicazione tra le sotto- reti; i protocolli di inter-networking NON si occupano delle singole reti, ma esclusivamente della comunicazioni tra le reti

Transcript of Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I...

Page 1: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

1

• Rete di calcolatori: insieme di calcolatori, altri dispositivi di calcolo (telefoni cellulari, smartphone, telefoni VoIP, tablet, televisori e altri elettrodomestici, ecc...) e dispositivi di rete,

i f l di ll ti

Cos’è Internet: le reti di calcolatori - I

connessi fra loro per mezzo di collegamenti

• I collegamenti possono essere realizzati da diversi dispositivi fisici: linee telefoniche, fibre ottiche, collegamenti satellitari, ecc.

• I collegamenti consentono ai calcolatori, agli altri dispositivi di calcolo e a quelli di rete di comunicare fra loro

a.a. 2017/18 Tecnologie Web 1

• Per comunicare, calcolatori, altri dispositivi di calcolo e di rete utilizzano specifici protocolli di comunicazione

• Protocollo di comunicazione: insieme di regole per la trasmissione di informazioni

• Rete di reti: connette tra loro più reti di calcolatori, spesso con caratteristiche diverse

• Internet è una rete di reti

Cos’è Internet: le reti di calcolatori - II

• Le singole reti hanno caratteristiche disomogenee:

– diversi protocolli di comunicazione (interni alle singole reti)

– diversi tipi di calcolatori, dispositivi di calcolo e di rete

– talvolta anche diverse convenzioni nella codifica delle informazioni

a.a. 2017/18 Tecnologie Web 2

• Tecnicamente, "internet" è l'insieme dei protocolli di inter-networking, cioè dei protocolli di comunicazione tra le sotto-reti; i protocolli di inter-networking NON si occupano delle singole reti, ma esclusivamente della comunicazioni tra le reti

Page 2: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

2

Ogni rete è dotata di un dispositivo detto router che la connette con l'esterno

Cos’è Internet: le reti di calcolatori - III

internet

router 1 router 2

router 3Rete 1

A

Rete 2

Brouter 4router 5

a.a. 2017/18 Tecnologie Web 3

Rete 3

La comunicazione tra due calcolatori A e B avviene in 3 passi:

1. Comunicazione tra A e il router 1

2 Comunicazione tra router 1 e router 2 (eventualmente

Cos’è Internet: le reti di calcolatori - IV

2. Comunicazione tra router 1 e router 2 (eventualmente mediata da altri router)

3. Comunicazione tra il router 2 e B

I protocolli di inter-networking, ed in particolare TCP/IP, si occupano principalmente del passo 2 (comunicazione tra i router)

a.a. 2017/18 Tecnologie Web 4

Le caratteristiche di TCP/IP fanno sì che la rete basata su questi protocolli sia una rete molto robusta, in grado cioè di funzionare in modo efficiente e affidabile anche se una parte di essa dovesse essere danneggiata

Page 3: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

3

I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché "ospitano" applicazioni varie (es. browser, web server, client di posta, server di posta, ecc.)

Cos’è Internet: le reti di calcolatori - V

Host: possono essere Workstation, PC, computer portatili, tablet, smartphone, telefoni VoIP, televisori o altri elettrodomestici, ecc..

a.a. 2017/18 5Tecnologie Web

• La comunicazione (tra host) è regolata da specifici protocolli di comunicazione

• I protocolli di comunicazione sono organizzati in una

Cos’è Internet: i protocolli - I

gerarchia: i protocolli più in alto nella gerarchia sono definiti in base ai protocolli che stanno più in basso

Quali vantaggi ha un'organizzazione gerarchica?• Astrazione: nella realizzazione di un servizio ad un dato livello, ci

si può concentrare sulle problematiche di quel servizio e assumere come disponibili tutti i necessari servizi "sottostanti"

• Scomposizione: l'organizzazione in livelli permette di affrontare un problema complesso suddividendolo in sottoproblemi più semplici

• Modularità: il sistema ha un'architettura modulare e questo ne facilita la manutenzione, la modifica, il riuso delle componenti (moduli)

a.a. 2017/18 6Tecnologie Web

Page 4: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

4

I protocolli Internet sono organizzati in una gerarchia composta da cinque livelli:

Cos’è Internet: i protocolli - II

Applicativo

Trasporto

Rete

Collegamento

HTTP

TCP

IP

DNS SMTP IMAPPOP FTP Telnet

UDPNB: ad ogni livello possono essere presenti più protocolli: in figura ne abbiamo riportati solo alcuni

a.a. 2017/18 7Tecnologie Web

Collegamento

FisicoProtocolli per cavo coassiale

Protocolli per doppino

Protocolli per fibra ottica

PPP CSMA/CD WiFi

Protocolli per conness. wireless

1. Livello applicativo: contiene i protocolli che regolano lo scambio di messaggi ("contenuti") tra processi applicativi (es: il browser comunica con il Web server, il client di posta con il server di posta, ecc.) – come vedremo...

Cos’è Internet: i protocolli - III

2. Livello di trasporto: contiene i protocolli che regolano il trasporto dell'informazione da un processo applicativo ad un altro processo applicativo (in particolare, l'identificazione dei processi applicativi)

3. Livello di rete: contiene i protocolli che regolano il trasporto dell'informazione da un host all'altro

4 Livello di collegamento: contiene i protocolli che4. Livello di collegamento: contiene i protocolli che regolano l'attraversamento del singolo collegamento

5. Livello fisico: contiene i protocolli che regolano la comunicazione sui diversi dispositivi fisici (linee telefoniche, fibre ottiche, collegamenti satellitari, ecc.)

a.a. 2017/18 8Tecnologie Web

Page 5: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

5

Es.: comunicazione tra A e B

Cos’è Internet: i protocolli - IV

Entità l. applicativo

Nodo A

Entità l. applicativo

Nodo B

l. applicativo

Entità l. trasporto

Entità l. rete

l. applicativo

Entità l. trasporto

Entità l. rete

comunicaz. diretta: l'entità ad un dato livellochiededirettamentei servizi ad un'entità al

comunicaz. diretta: l'entità ad un dato livello inoltra l’informaz. ad un'entità a livello

comunicazione virtuale fra entità a livelli corrispondenti

a.a. 2017/18 9Tecnologie Web

Entità l. collegamento

Entità l. fisico

RETE FISICA

comunicaz. "reale" (non necess. diretta)

Entità l. collegamento

Entità l. fisico

livello sottostante

superiore

• Livelli caratterizzanti la tecnologia Internet: livello rete e livello trasporto descriviamo molto brevemente:

– il protocollo IP (Internet Protocol) – livello rete

Cos’è Internet: i protocolli - V

– il protocollo TCP (Transmission Control Protocol) –livello trasporto

• Vi sono numerosi protocolli a livello applicativo esaminiamo alcuni aspetti di alcuni protocolli:

– DNS (Domain Name System)

– i protocolli utilizzati per gestire la posta elettronica: p otoco ut at pe gest e a posta e ett o ca:SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol ver. 3), IMAP (Internet Mail Access Protocol)

– HTTP (HyperText Transfer Protocol), il protocollo alla base del Web

a.a. 2017/18 10Tecnologie Web

Page 6: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

6

Protocollo IP (livello rete)

• IP definisce un servizio di comunicazione host-to-host(trasporto dell'informazione da un host mittente a un hostd ti t i )

Cos’è Internet: il protocollo IP - I

destinatario)

• la comunicazione tra host è mediata dai router: host_mittente router(s) host_destinatario

• per identificare i nodi a livello rete si usa un meccanismo di indirizzamento basato su indirizzi IP

Indirizzi IP

• indirizzo IP = identificatore univoco di nodo in Internet

• NB uno stesso indirizzo IP non è mai assegnato a più di un nodo, ma un nodo può avere più indirizzi IP

a.a. 2017/18 11Tecnologie Web

• I router, per inoltrare le informazioni (i datagrammi), si basano sull'indirizzo IP del destinatario (indicato nell'intestazione, o header, del messaggio):– se il destinatario appartiene ad una stessa (sotto)rete del

Cos’è Internet: il protocollo IP - III

se il destinatario appartiene ad una stessa (sotto)rete del router, l'informazione viene inoltrata direttamente

– altrimenti il router utilizza la propria tabella di inoltro (prodotte dai router stessi, con complessi algoritmi di routing)

NB natura dinamica di Internet (si aggiungono/si cancellano reti/host, ecc.) tali tabelle vengono aggiornate spesso

• indirizzi a 32 bit (IPv4) 232 indirizzi (più di 4 miliardi),indirizzi a 32 bit (IPv4) 2 indirizzi (più di 4 miliardi), ma... rapida crescita di Internet + uso non ottimale degli indirizzi IPv4 carenza di indirizzi IP!!

IPv6 (in uso accanto ad IPv4): specifica indirizzi di 128 bit (e 2128 è un numero veramente grande!)

a.a. 2017/18 12Tecnologie Web

Page 7: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

7

• Un'organizzazione che necessiti di un blocco di indirizzi IP per connettere una propria rete ad Internet, può contattare un ISP (Internet Service Provider)

• Un ISP assegna un blocco di indirizzi IP ad un suo cliente

Cos’è Internet: il protocollo IP - IV

• Un ISP assegna un blocco di indirizzi IP ad un suo cliente, "pescando" fra gli indirizzi che gli sono stati a sua volta assegnati, in ultima analisi, dall'ICANN (Internet Corporation for Assigned Names and Numbers), ente internazionale no-profit con sede negli Stati Uniti

Esempio di indirizzo IP:Esempio di indirizzo IP:

in binario: 11010001100010000100111100100010

in decimale: 209.136.79.34

a.a. 2017/18 13Tecnologie Web

• Il protocollo IP regola la comunicazione tra host, ma...

• su un host possono risiedere più processi (applicazioni attive) non basta che l'informazione raggiunga l'hostcorretto bisogna che sull'host di destinazione l'informazione

Cos’è Internet: il protocollo TCP - I

corretto, bisogna che sull host di destinazione l informazione venga recapitata al giusto processo applicativo

Es: nel funzionamento del Web, è necessario che l'informazione proveniente da un browser sia consegnata al Web Server di destinazione (e viceversa); nell'applicazione di posta elettronica, occorre che il messaggio del client di posta raggiunga il corretto server di posta (e viceversa) eccposta raggiunga il corretto server di posta (e viceversa), ecc.

• il protocollo TCP (livello trasporto) si occupa di questo (NB: i protocolli di trasporto sono implementati sugli host, ma non sui router!)

a.a. 2017/18 14Tecnologie Web

Page 8: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

8

• Come fa il protocollo TCP ad identificare il processo giusto a cui passare l'informazione?

• Ad ogni processo è associato (almeno) un socket, cioè un "punto di accesso" al processo

Cos’è Internet: il protocollo TCP - II

punto di accesso al processo

• TCP identifica un socket grazie alle seguenti informazioni: indirizzo IP del mittente + numero di porta del mittente + numero di porta del destinatario (UDP, invece, associa direttamente socket e numero di porta del destinatario)

• numero di porta = intero a 16 bit (compreso fra 0 e 65.535) che identifica na "porta" di com nica ione tra processiche identifica una "porta" di comunicazione tra processi

TCP (livello trasporto) sfrutta il servizio offerto dal sottostante protocollo IP per specificare un servizio di invio di informazione da processo applicativo a processo applicativo (comunicazione tra processi)

a.a. 2017/18 15Tecnologie Web

• Al di sopra dell'infrastruttura di rete fornita dai livelli fisico, collegamento, rete, trasporto è possibile costruire delle applicazioni... in altre parole è possibile sfruttare la rete per offrire servizi agli utenti

Cos’è Internet: architetture

rete per offrire servizi agli utenti

• Vi sono due principali modelli architetturali di riferimento per le applicazioni Internet: il modello client-server ed il modello peer-to-peer (P2P)

a.a. 2017/18 Tecnologie Web 16

Page 9: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

9

• In un'architettura P2P (peer-to-peer) sono coinvolti 2 processi applicativi dello stesso tipo (chiamati peers, cioè "pari")

Cos’è Internet: architettura P2P

• Ai processi P2P NON è richiesto di essere sempre attivi e pronti a rispondere ad eventuali richieste (come avviene, invece, per i server)

• Solitamente i processi P2P risiedono sugli host degli utenti finali e non su potenti server di aziende o organizzazioni

• Vi sono varie applicazioni Internet realizzate secondo il

a.a. 2017/18 Tecnologie Web 17

ppparadigma P2P, es: applicazioni di telefonia (cosiddetta VoIP, Voice over IP) come Skype, applicazione per la condivisione e distribuzione di file, come BitTorrent, eMule, ecc.

• Anche in un'architettura client-server sono coinvolti 2 processi applicativi

• ... che hanno però caratteristiche diverse (non sono peers,

Cos’è Internet: architettura client/server - I

cioè "pari")

• Ad uno dei due processi (server) è richiesto di essere sempre attivo e pronti a rispondere ad eventuali richieste

• Solitamente i processi server risiedono su host "dedicati" (es. "macchine server" di aziende o organizzazioni)

• Vi sono varie applicazioni Internet realizzate secondo il

a.a. 2017/18 Tecnologie Web 18

Vi sono varie applicazioni Internet realizzate secondo il paradigma client-server... per es il Web!

Page 10: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

10

Cos’è Internet: architettura client/server - II

client

clientServer

li trequest

ServerUn server è un programma (processo) "in ascolto" su una porta (punto di accesso) TCP. Quando arriva una richiesta da un client, il server analizza questa richiesta( l l’ i di l i i) l b

clientresponse

a.a. 2017/18 Tecnologie Web 19

(eventualmente con l’aiuto di altri programmi), elabora una risposta (anche in questo caso, eventualmente con l’aiuto di altri programmi ) e la invia al clientUn server, generalmente, può servire più client contemporaneamente

ClientUn client è un programma che si connette ad un server, fa una richiesta ed aspetta una risposta

Cos’è Internet: architettura client/server - III

• Molte applicazioni Internet sono realizzate secondo il paradigma client-server, es. il servizio DNS, il Web, la posta elettronica, ecc.

a.a. 2017/18 Tecnologie Web 20

Page 11: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

11

I protocolli applicativi (livello applicativo) definiscono le regole di comunicazione tra client e server

SMTP SMTP (Simple Mail Transfer Protocol) è il protocollo

Cos’è Internet: protocolli applicativi - I

SMTP (Simple Mail Transfer Protocol) è il protocollo utilizzato per trasmettere messaggi di posta elettronica

POP e IMAPPOP (Post Office Protocol) e IMAP (Internet Mail Access Protocol) sono i protocolli utilizzati per leggere messaggi di posta elettronica

FTP

a.a. 2017/18 Tecnologie Web 21

FTP FTP (File Transfer Protocol) è il protocollo di comunicazione utilizzato da un client (FTP client) e da un server (FTP server) per trasferire file generici (trasferimento dal server al client = download; trasferimento dal client al server = upload)

DNSDNS (Domain Name System) è un protocollo utilizzato per gestire gli indirizzi "simbolici" (www.di.unito.it) e tradurli in indirizzi IP (209 136 79 34) necessari per

Cos’è Internet: protocolli applicativi - II

tradurli in indirizzi IP (209.136.79.34), necessari per effettuare la connessione

HTTP HTTP (HyperText Transfer Protocol) è il protocollo di comunicazione utilizzato da un client (browser) e da un server (HTTP Server o Web Server) per trasferire ipertesti(file che contengono ipertesti)

a.a. 2017/18 Tecnologie Web 22

HTTPSversione "sicura" di HTTP: il contenuto scambiato tra client e server viene criptato all'invio (e decriptato alla recezione)

Page 12: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

12

Il DNS (Domain Name System) è un sistema didenominazione gerarchico, ripartito in domini, sotto-domini, sotto-sotto-domini, ecc…

Dominio = gruppo di host, ad ognuno dei quali è assegnato

Protocolli applicativi: DNS - I

Dominio gruppo di host, ad ognuno dei quali è assegnatoun nome logico, che deve essere unico solamente all’internodel dominio (quindi host in domini diversi possono avere lostesso nome!)

Un dominio può essere suddiviso in sotto-domini, che a lorovolta possono essere suddivisi in sotto-sotto-domini, ecc.

Per "costruire" i nomi da assegnare agli host secondo la

a.a. 2017/18 Tecnologie Web 23

Per costruire i nomi da assegnare agli host secondo lagerarchia definita dal DNS si utilizza la dot notation:

www.di.unito.it dominiosotto-dominio

sotto-sotto-dominiohost

Un'organizzazione internazionale gestisce i domini di primo livello: • domini per nazione: .it, .fr .uk, …• domini per tipo di attività: .com, .org, .net, .gov, .edu, …

Protocolli applicativi: DNS - II

p p , g, , g , ,

All'interno dei singoli domini, un gestore gestisce i sotto-domini:• per es. in Inghilterra ci sono 2 grandi sotto-domini, .ac

(academic) e .co (commercial)• per es. in Italia un ente può registrare il proprio "dominio"

(che in realtà è un sotto-dominio!) direttamente (per es. it l’U i i à di T i )

a.a. 2017/18 Tecnologie Web 24

.unito per l’Università di Torino)

Il gestore di un sottodominio (per es. l'Univ. di Torino) può decidere ulteriori suddivisioni (per es, .di per il Dip. di Informatica, .scidecom per CdL in Scienze della Comunicaz.)

Page 13: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

13

NB Non c'è alcuna corrispondenza diretta fra i domini e le reti di elaboratori di Internet (elaboratori della stessa rete fisica possono trovarsi in domini diversi; lo stesso dominio può raggruppare elaboratori di diverse reti fisiche)

Protocolli applicativi: DNS - III

p gg pp )

Il DNS è utilizzato per offrire un servizio di traduzione tra "nomi DNS" e indirizzi IP (dato un DNS -www.di.unito.it - restituisce l'IP - 130.192.239.1 -necessario per la connessione)

Il servizio di traduzione è realizzato da un gran numero di Server DNS, organizzati gerarchicamente, che vengono

a.a. 2017/18 Tecnologie Web 25

g g ginterrogati da un gran numero di client DNS

Esemio: supponiamo di trovarci su un computer (host) dell'Università di Torino (pippo.unito.it) e di volerci connettere a www.media.mit.edu:• il client DNS su pippo invoca il Server DNS del suo

dominio (unito)

Protocolli applicativi: DNS - IV

dominio (unito)• il Server DNS di unito, accorgendosi che non si tratta di un

elaboratore all'interno del proprio dominio, si rivolge al Server DNS del dominio it (cioè attiva un client DNS che invia una richiesta al Server DNS di it)

• il Server DNS di it si rivolge al Server DNS di primo livello (radice della gerarchia), il quale gira la richiesta al Server DNS del dominio richiesto, edu

a.a. 2017/18 Tecnologie Web 26

,• il Server DNS di edu passa la palla al Server DNS di mit• il Server DNS di mit passa la palla al Server DNS di media,

che risolve l’indirizzo• le informazioni vengono passate "all’indietro" lungo la

stessa strada fino a raggiungere il computer chiamante

Page 14: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

14

SMTP (Simple Mail Transfer Protocol)

• protocollo applicativo utilizzato per trasmettere messaggi di posta elettronica

i b 'architett ra client ser er ll'i t i

Protocolli applicativi: SMTP, POP, IMAP - I

• si basa su un'architettura client-server sull'interazione tra due programmi: un client SMTP e un server SMTP

• Lo scambio di email è possibile solo tra (due) caselle di postale elettronica (mailbox):– una mailbox è generalmente un file in cui vengono

depositati i messaggi inviati a quella casella– affinché un messaggio di posta elettronica possa

a.a. 2017/18 Tecnologie Web 27

gg p praggiungere i destinatari occorre specificare gli indirizzi delle mailbox di tali destinatari

– l'indirizzo di una casella di posta elettronica ha generalmente il seguente formato: nomemailbox@nomedominio (es: unito.it, opp di.unito.it)

POP (Post Office Protocol) e IMAP (Internet Mail Access Protocol)

• Sulla macchina su cui gira il Server SMTP girano anche i Server POP e IMAP (entrambi o uno solo dei due)

Protocolli applicativi: SMTP, POP, IMAP - VI

S O ( )

• Sulla macchina "server" sono ospitate anche le mailbox

• L'utente, generalmente, accede alla propria mailbox utilizzando un'applicazione software che gira su un computer connesso in rete (diverso dal "server") tale applicazione deve connettersi al "server" per leggere il contenuto della mailbox diventa un client POP/IMAP

a.a. 2017/18 Tecnologie Web 28

il contenuto della mailbox diventa un client POP/IMAP (più precisamente, POP3 e IMAP4)

Page 15: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

15

• POP3: consente di scaricare i messaggi contenuti nella mailbox "in locale", sul computer dell'utente (dove risiede l'applicazione contenente il client POP) i messaggi verranno, generalmente, cancellati dalla mailbox sul "server"

Protocolli applicativi: SMTP, POP, IMAP - VII

, g ,e saranno disponibili sul computer dell'utente leggibili anche senza essere connessi in rete, ma disponibili solo sul computer su cui sono stati scaricati

• IMAP4: consente di leggere i messaggi contenuti nella mailbox, senza scaricarli sul computer dell'utente i messaggi resteranno nella mailbox sul "server" saranno

a.a. 2017/18 Tecnologie Web 29

leggibili solo ri-connettendosi al "server", da qualunque computer connesso in rete e dotato di un client IMAP

HTTP (HyperText Transfer Protocol)

• HTTP Server = Web ServerHTTP client = (nel) browser

Protocolli applicativi: HTTP - I

• HTTP Server gestisce 2 flussi di informazioni: HTTP request = le richieste in arrivo dagli HTTP

client HTTP response = le risposte del Server, inviate agli

HTTP client

a.a. 2017/18 Tecnologie Web 30

HTTP client

HTTP clientHTTPServer HTTP client

HTTP request

HTTP response

Page 16: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

16

Una richiesta HTTP (HTTP request) ha 2 parti: header (intestazione) e body (contenuto)

HTTP header (intestazione) contiene: il "metodo"

Protocolli applicativi: HTTP - II

il metodo l'URL [lo vedremo tra poco...] la versione del protocollo HTTP usata eventuali metadati (es. charset accettati)

Il "metodo" può avere diversi valori, i più comuni sono GET e POST: • GET: esprime la richiesta di una risorsa (indicata nel campo

a.a. 2017/18 Tecnologie Web 31

URL, come vedremo); utilizzando il "metodo" GET, il body è sempre vuoto: eventuali parametri (dati per il Server) sono indicati, insieme alla risorsa, nel campo URL (come vedremo)

• POST: esprime l'invio di informazioni al server (tipicamente associato alla richiesta di una risorsa, indicata nel campo URL, come vedremo); utilizzando il "metodo" POST, i parametri (dati per il Server) sono contenuti nel

Protocolli applicativi: HTTP - III

, p ( p )body (per es. le info inserite dall'utente in un modulo online)

HTTP body (contenuto) contiene eventuali dati da inviare al Server (nel caso si utilizzi il metodo POST)

a.a. 2017/18 Tecnologie Web 32

Page 17: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

17

Una risposta HTTP (HTTP response) ha 2 parti:header (intestazione) e body (contenuto)

HTTP header (intestazione) contiene:

Protocolli applicativi: HTTP - IV

il codice di stato del server (per es: 200 = ok, 404 = not found, 500 = internal server error, ecc...)

eventuali metadati (es: data, content-type, ...)

HTTP body (contenuto) contiene tipicamente la risorsa (es. la pagina web) richiesta [lo vedremo tra poco...]

a.a. 2017/18 Tecnologie Web 33

HTTPS (HTTP Secure) = versione "sicura" di HTTP:

• il contenuto (sia l'header sia il body) di HTTP request e HTTP response è criptato in fase di invio e decriptato in fase di rece ione

Protocolli applicativi: HTTPS

fase di recezione

• uso combinato di HTTP + protocollo per la trasmissione sicura di dati TLS: Transport Layer Security

• TLS è un prococollo basato su crittografia

• TLS, tecnicamente, si situa a livello applicativo, ma in pratica rappresenta un"estensione sicura" dei protocolli di

a.a. 2017/18 Tecnologie Web 34

p pp ptrasporto

Page 18: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

18

• Il protocollo HTTP è stateless, cioè non memorizza lo stato di una conversazione client-server due richieste successive dello stesso client allo stesso server sono trattate indipendentemente (e non come un'unica "conversazione")

Protocolli applicativi: HTTP - V

indipendentemente (e non come un'unica "conversazione")

• A volte, però, è utile che il server abbia "memoria" dei passi precedenti nella conversazione con un client; per es, in un sito di e-commerce è importante riconoscere la sequenza di passi di interazione con un client, ed eventualmente, anche conversazioni successive (con lo stesso client)

a.a. 2017/18 Tecnologie Web 35

• I principali meccanismi utilizzati dai Web Server per mantenere "memoria" delle conversazioni con i vari client sono i cookies e le sessioni

Protocolli applicativi: HTTP e i cookies - I

Cookies = dati (di tipo testuale) che il server salva sulclient

Per esempio, quando un client invia un primo messaggio di richiesta al server di un sito di commercio elettronico il server crea un codiceserver di un sito di commercio elettronico, il server crea un codice identificativo per il client, lo memorizza nella propria base di dati e lo invia anche al client, in un cookie che viene memorizzato sul client stesso; quando il client ricontatta lo stesso server, quest'ultimo legge il cookie, recuperando così l'informazione i cookies possono essere utilizzati per tenere traccia del comportamento dell'utente! Per es. per memorizzare cosa ho cercato o cosa ho acquistato...

a.a. 2017/18 Tecnologie Web 36

q

In realtà esistono vari tipi di cookies, con caratteristiche un po' diverse: qui vedremo solo alcuni principi generali + i session cookies (cookies di sessione)

Page 19: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

19

Protocolli applicativi: HTTP e i cookies - IIa. quando un browser contatta un server per richiedere una

risorsa (per es. la homepage di un sito), il server rispondeinviando la risorsa + un cookie

b. in ogni successiva richiesta, il client invierà, nella grichiesta, anche il cookie

a. invio di un nuovo cookie dal server al client: il cookie

"viaggia" nel campo set-cookie nell'HTTP responseb. lettura (da parte del server) di un cookie esistente: il

cookie "viaggia" nel al campo cookie nell'HTTP request

a.a. 2017/18 Tecnologie Web 37

HTTPServer

HTTP client

HTTP request(campo cookie)

HTTP response(campo set-cookie)

Protocolli applicativi: HTTP e i cookies - III• Struttura (di base) di un cookie:

nome del cookie valore del cookie identificativo del server che lo ha prodotto

un server può leggere solo i cookies che lui stesso ha scritto!

controllo effettuato grazie all'identificativo del server data di scadenza

si possono suddividere i cookies in due macro-categorie: temporary cookies (session cookies): generalmente salvati

in memoria centrale (RAM) hanno scadenza "breve" (es

a.a. 2017/18 Tecnologie Web 38

in memoria centrale (RAM), hanno scadenza breve (es. 30') cancellati (al più tardi) quando si chiude il browser

long-term o persistent cookies: salvati sull'hard-disk del computer client, hanno scandenza "lunga" (giorni o mesi)Esempio: cookies usati per ricordare i dati di login

Page 20: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

20

Protocolli applicativi: HTTP e i cookies - IV

In Firefox (v 47.0)

a.a. 2017/18 Tecnologie Web 39

Ogni browser salva i cookies... a modo suo!

Ogni browser salva i cookies... a modo suo!

Protocolli applicativi: HTTP e i cookies - V

NOTE:

(1) Per utilizzarli è necessarioche il client "accetti" i cookies è possibile modificare la configurazione del browser!

(2) L' ò ll li! d

a.a. 2017/18 Tecnologie Web 40

(2) L'utente può cancellarli! non sono un metodo tanto affidabile per mantenere informazioni importanti…

(3) Attenzione ai persistent cookies su PC "pubblici", utilizzati da diversi utenti (o ai persistent cookies sul vostro PC se ve lo rubano... :-( ) !!!

Page 21: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

21

Protocolli applicativi: HTTP e le sessioni - I

sito web

utente1

utente2

utente3

sessione1

sessione2

sessione3

Sessione = serie di accessi ad un sito web, effettuati da uno stesso client, in un arco di tempo delimitato, durante il quale viene

• Inizio di una sessione: il Web Server crea automaticamente un "oggetto" sessione, con ID univoco (session ID), per ogni client che si connette al sito web

• Fine di una sessione: quando scade (timeout) - vedi configuraz. del Web Server

d i li it t d t d di "fi

ecc… ecc…mantenuto uno stato dell'interazione

a.a. 2017/18 Tecnologie Web 41

quando viene esplicitamente dato un comando di "fine sessione" (per esempio l'utente clicca su "logout" o "esci")

quando viene chiuso il browser

• Visto che HTTP è stateless... la sessione serve a mantenere traccia di una "conversazione" tra client e server

Protocolli applicativi: HTTP e le sessioni - IICome fa il server a mantenere "memoria" della sessione? Cioè a riconoscere una sequenza di accessi da parte di un client come facenti parte della stessa sessione?La sessione può essere gestita attraverso 2 meccanismi principali:

1. Cookies di sessione (session cookies): – quando crea la sessione, il Web Server scrive il session-

id in un cookie, che viene successivamente inviato dal browser ad ogni successiva richiesta

– quando la sessione scade o viene chiusa, il cookie viene distrutto

2 URL iti

a.a. 2017/18 Tecnologie Web 42

2. URL rewriting:se i cookies sono stati disattivati il Web Server scrive il session-id come parametro degli URL presenti nella pagina (questo meccanismo si chiarirà più avanti, quando parleremo di URL e poi di parametri negli URL...)

Page 22: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

22

Protocolli applicativi: HTTP e le sessioni - IIIEventuali altri dati sulla sessione sono salvati server-side, tipicamente in una tabella associativa:

session ID 1 dati sulla i 1sessione 1

session ID ... dati sulla sessione ...

session ID n dati sulla sessione n

a.a. 2017/18 Tecnologie Web 43

la gestione delle sessioni è fatta con un approccio ibrido client-side (session cookies) + server-side (tabella associativa dei dati legati alla sessione)

Cos’è il Web - IIl World Wide Web (WWW) è un'applicazione

• che sfrutta i protocolli TCP/IP (livello trasporto e rete)

• che utilizza il protocollo di comunicazione HTTP (livello li ti )applicativo)

• basato su un'architettura client-server; come già detto parlando di HTTP...Server = Web Server (HTTP Server)Client = (nel) browser (HTTP client)

a.a. 2017/18 Tecnologie Web 44

Page 23: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

23

Cos’è il Web - II

Brevissima storia del World Wide WebIl WWW nasce nel 1990 al CERN (European Particle Physics Laboratory) di Ginevra, come mezzo per facilitare la collaborazione scientifica tra centri di ricerca di fisica dellecollaborazione scientifica tra centri di ricerca di fisica delle particelle. Il suo ideatore è il fisico Tim Berners-Lee

La prima interfaccia grafica per il WWW (il browser Mosaic) uscì all’inizio del 1993, per opera di Marc Andreessen, che un anno dopo fondò la Netscape Communication Corp.

Nel 1994, CERN e MIT stipularono un accordo per costituire il Consorzio WWW (W3C), dedicato alla standardizzazione e allo

a.a. 2017/18 Tecnologie Web 45

( ),sviluppo di protocolli e linguaggi per il Web. Al W3C hanno in seguito aderito centinaia di altri enti e resta il principale punto di riferimento per tutto ciò che riguarda il Web (www.w3.org)

Cos’è Web - IIIIpertesto

Un ipertesto è un documento (o un insieme di documenti) costituito da un insieme di nodi e da un insieme di archi, detti hyperlink (collegamenti ipertestuali), che collegano i vari nodiUn ipertesto può essere visto come una "rete", dentro la quale si può "navigare", passando da un nodo all’altro percorrendo gli archi

home page:…

ti li

pagina articoli:…editore

pagina di un editore

a.a. 2017/18 Tecnologie Web 46

articoli…collaborazioni…

pagina di celi srl…A.Goy…

Page 24: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

24

Cos’è Web - IVIl World Wide Web come ipertesto

Il WWW è un gigantesco ipertesto: i nodi sono costituiti dalle pagine web, che risiedono su computer sparsi in tutto il mondo e collegati tra loro tramite Internetil mondo e collegati tra loro tramite Internet

Il WWW è un ipertesto "aperto" perché la sua strutttura non è definita a priori, ma chiunque può inserire nuovi nodi (pagine Web) e nuovi archi (collegamenti)

Quindi... pagina Web = nodo dell'ipertesto WWW (come vedremo,

può contenere testo immagini filmati suoni ecc )

a.a. 2017/18 Tecnologie Web 47

può contenere testo, immagini, filmati, suoni, ecc...) sito Web = insieme di pagine Web, generalmente residenti

sullo stesso "server", gestite da un unico Web master e con un contenuto omogeneo

home page = pagina di accesso ad un sito Web

Cos’è Web: URL - I

Cosa accade quando "navighiamo" sul web, cioè quando percorriamo un arco (hyperlink collegamento ipertestuale) dell'ipertesto, passando così da un nodo all'altro?In estrema sintesi:In estrema sintesi:• viene attivata una connessione (TCP/IP) tra l'host che ospita

il client (browser) e l'host che ospita il web server• il client (browser) utilizza il protocollo HTTP per richiedere

una pagina web al server, il quale utilizza il protocollo HTTP per rispondere inviando tale pagina al client (che la visualizza)

a.a. 2017/18 Tecnologie Web 48

Lo strumento principale su ci si basa questo meccanismo è l'URL

URL (Uniform Resource Locator) = identificatore univoco (indirizzo) di una risorsa (nodo dell'ipertesto), per es. di una pagina web

Page 25: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

25

Un URL ha la seguente forma:

http ://www.di.unito.it :8080 /people/goy.php ?p1=v1&p2=v2

Cos’è il Web: URL - II

protocollo porta TCPi è i

dati (parametri), (generalmente http, ma può essere anche ftp, per es) host (nome

DNS opp indirizzo IP)

(percorso e) nome della risorsa (es: file, programma)

su cui è in ascolto il server

(p ),nella forma nome=valore

OPZIONALI (se non specificati si assume il valore di default):

a.a. 2017/18 Tecnologie Web 49

OPZIONALI (se non specificati si assume il valore di default):- protocollo = http (default del browser)- porta = 80 (default del web server configurabile)- risorsa = index.html (default del web server configurabile)- parametri: possono non esserci

Cos’è il Web: URL - IIIURL nei browser (es: Firefox):

Barra degli indirizzi: per chiedere al browser di attivare una connessione

History: per muoversi nella lista di URL già visitati

Tecnologie Web 50a.a. 2017/18

HTTP...

Segnalibri (o Preferiti): lista di URL archiviati dall'utente

Page 26: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

26

Torniamo alla domanda: cosa accade quando navighiamo sul web (cioè quando percorriamo un arco hyperlink passando da un nodo all'altro) per es. scrivendo un URL nella barra degli indirizzi del browser?

• Il browser analizza l'URL

Cos’è il Web: URL - IV

• Chiede al DNS Server l'indirizzo IP corrispondente al nome DNS contenuto nell'URL

• Effettua una connessione (TCP/IP) all'host corrispondente all'indirizzo IP ricevuto e gli invia una HTTP request contenente l'URL

• Il server legge l'indicazione della risorsa nell'URL (e gli eventuali parametri)

a.a. 2017/18 Tecnologie Web 51

eventuali parametri)• preleva la risorsa e risponde inviando una HTTP response

contenente la risorsa richiesta• Il browser riceve l'HTTP response e interpreta la risorsa in

essa contenuta, tipicamente visualizzandola

Cos’è il Web: applicazioni web - I

Ma parlare del Web come un ipertesto o di "pagine" e"siti" web suona così vecchio!!

Questa impressione è giusta o sbagliata??

E' giusta perché (come vedremo) i "siti" sono diventati applicazioni complesse ed interattive dove l'utente, più che "navigare", "fa cose" (discute, scrive, archivia, compra, prenota, studia, gioca, ecc.)

E' sbagliata, perché l'interfaccia utente di queste applicazioni generalmente non è "nient'altro" che una sequenza di pagine web!

applicazione web = (ex) sito web complesso ed interattivo = software che non necessita di essere installato sul computer dell'utente, ma che è reso disponibile online ed è utilizzabile attraverso web browser

a.a. 2017/18 52Tecnologie Web

Page 27: Cos’è Internet: le reti di calcolatori - Igoy/materiale/1718/01_InternetWeb_parteI.pdf · 3 I calcolatori (A e B nell'es) connessi grazie a internet sono chiamati host, perché

27

Cos’è il Web: applicazioni web - IIConseguenze importanti:• le applicazioni web tendono a sostituire quelle installate sul

proprio computer (es. word-processors, strumenti di disegno, foto-ritocco, calcolo, montaggio video o audio, ecc. online)gg )

• la maggioranza delle soluzioni informatiche per la gestione dell'informazione, della comunicazione e della conoscenza tanto in azienda quanto sul territorio e nella Pubblica Amministrazione sono applicazioni web

E le mobile app?!? Come vedremo, non fanno eccezione... :-)la programmazione e lo sviluppo software coincidono sempre

di iù l i l il bdi più con la programmazione e lo sviluppo webla gestione (valutazione, comunicazione, ...) di progetti ICT

coincide sempre di più con la gestione di progetti basati sulle tecnologie web

a.a. 2017/18 53Tecnologie Web

Suggerimenti bibliografici

• Innanzi tutto i link segnalati nelle slide !!!

• V. Roberto, M. Frailis, A. Gugliotta, P. Omero, Introduzione alle Tecnologie Web, McGraw-Hill, 2005 [NB: fate "attenzione" perché è un po' vecchiotto !]attenzione perché è un po vecchiotto...!]

Frammenti suggeriti:– Cap. 1 (Il World Wide Web): sez. da 1.1 a 1.7– Cap. 2 (Il WWW come servizio di rete): sez. da 2.1 a 2.3 + da 2.5 a 2.7

• V. Della Mea, L. Di Gaspero, I. Scagnetto, Programmazione Web Lato Server (seconda edizione aggiornata), Apogeo, 2011[www.apogeoeducation.com/9788838786938-programmazione-web-

a.a. 2017/18 Tecnologie Web 54

lato-server-seconda-edizione-aggiornata.html]Frammenti suggeriti:– Cap. 2 (siti web dinamici): sez. 2.1 e 2.2