Appunti di Sistemi A cura del prof. ing. Mario Catalano Internet e il Web 1
Internet Internet è un insieme di reti informatiche collegate tra loro in tutto il mondo. Tramite una connessione a Internet è quindi possibile comunicare con gli altri computer ovunque si trovino nel mondo. 2
Cosa è e cosa non è Internet Internet è in primo luogo uno strumento di comunicazione e di scambio di informazioni. Internet è una immensa risorsa di informazioni, ma non è il deposito universale della conoscenza umana. Internet non può mai costituire l unica fonte informativa. Internet non integra e organizza da sé l informazione fornita. 3
Com è fatta Internet Il provider è una società che ha dei server collegati costantemente a Internet. Permette agli utenti, previa registrazione dei dati, di accedere ai propri server e quindi a Internet mediate un collegamento per mezzo della linea telefonica. 4
Com è fatta Internet L Internet Service Provider (ISP) offre ai propri utenti, quali l accesso a Internet e una (o più) casella di posta elettronica. Spesso questa funzione è svolta dalle società di telefonia (o da aziende a esse collegate). 5
Com è fatto il Web Un sito Web è in genere costituito da più pagine Web. La pagina iniziale di un sito Web è denominata home page. Ogni sito Web è identificato da un indirizzo Internet univoco, denominato anche URL (Uniform Resource Location). 6
Il WWW Il World Wide Web è basato su un progetto del 1989, in Svizzera, presso i laboratori del centro di ricerca CERN, per assicurare lo scambio di informazioni tra i membri della comunità scientifica. Il World Wide Web (WWW)) è un servizio che consente di usufruire delle informazioni contenute nelle pagine web. Il successo della 'ragnatela mondiale' è stato tale che attualmente, per la maggior parte degli utenti (e dei mass- media), essa coincide con la rete stessa. Sebbene questa convinzione sia tecnicamente scorretta, è indubbio che gran parte del 'fenomeno Internet' sia dovuto proprio alla diffusione del Web. 7
Com è fatto il Web Ogni pagina Web è composta da testo, immagini, suoni, video e collegamenti a un altra pagina del sito, a un riferimento della pagina stessa detto segnalibro o a un altro sito. Ogni pagina Web è realizzata mediante un linguaggio detto HTML. HTML (HyperText Markup Language): linguaggio utilizzato per realizzare i documenti ipertestuali del Web. Si tratta di un gruppo di codici che indicano al browser come visualizzare la pagina e permettono di stabilire collegamenti con altre pagine o altri siti. 8
Come è fatto il Web Le pagine web, da sole o organizzate in un sito, sono concepite come un ipertesto. Esse funzionano attraverso i link che permettono una navigazione delle pagine stesse. Il web mondiale, considerati i collegamenti tra i siti web, può essere considerato un gigantesco ipertesto. Ipertesto: metodo di rappresentazione delle informazioni nel quale testo, immagini, suoni e animazioni vengono collegati in un tessuto complesso e non sequenziale di associazioni, in modo da permettere all utente di spostarsi tra argomenti correlati, indipendentemente dall ordine in cui questi vengono presentati. 9
Come navigare su Internet Per visualizzare le informazioni sul Web, è necessario un apposito software denominato browser Web. Tale software consente di accedere in modo semplice e rapido a documenti denominati pagine Web. I browser più famosi sono: Microsoft Internet Explorer Mozilla Firefox Safari Google Chrome Opera 10
Client Web (Browser( Browser) Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali inviare opportuni messaggi al server Web per ottenere le risorse richieste interpretare il codice ipertestuale HTML elaborare il codice allo scopo di visualizzare in modo appropriato il contenuto delle pagine sullo schermo. 11
I server web Host che contiene iperstesti (documenti ipermediali) Pagine HTML, ASP,.. Protocollo http http Web Browser Pagina web Internet TCP/IP 12
Protocollo HTTP HyperText Trasmission Protocol (HTTP) è il protocollo che permette il reperimento delle risorse Web. E un protocollo applicativo di richiesta/risposta basato tipicamente sulla suite di protocolli TCP/IP. Tutti i client e server Web devono supportare il protocollo HTTP per poter scambiare richieste e risposte. Per questa ragione i client e i server Web sono chiamati anche client HTTP e server HTTP. 13
Richiesta HTTP Una richiesta HTTP comprende un metodo, un URL, l identificativo della versione del protocollo HTTP, ed un insieme di extension header. Il metodo specifica il tipo di operazione che il client richiede al server. Il metodo più comune è GET che serve per acquisire pagine Web. Gli header contengono informazioni addizionali, quali la data e l ora della comunicazione, il tipo di software utilizzato dal client, i tipi di dato che il browser è in grado di visualizzare, per un totale di circa 50 tipi di header differenti. 14
Risposta HTTP Una risposta HTTP comprende, oltre al contenuto della risorsa richiesta, un header contenente l identificativo della versione del protocollo HTTP, il codice di stato, l informazione di stato in forma testuale, ed un insieme di possibili altre informazioni di risposta. Se la pagina richiesta, oltre al testo HTML, contiene altri oggetti, ciascuno di essi sarà identificato da un URL differente, per cui è necessario che il browser invii un esplicito messaggio di richiesta per ognuno degli elementi collegati alla pagina. 15
HTTP 16
Alcuni codici di risposta Esito OK, la risorsa è stata trovata e viene inviata Codice numerico (status code) 200 OK Specifica testuale (reason phrase) Risorsa spostata 301 Moved permanently Risorsa non modificata 304 Not Modified Richiesta non valida 400 Bad request Richiesta di autenticazione 401 Unauthorized Richiesta di pagamento 402 Payment required Accesso vietato 403 Forbidden Risorsa non esistente 404 Not found Errore nel server 500 Server error Non implementato 501 Not Implemented Gateway difettoso 502 Bad Gateway Servizio non disponibile 503 Service Unavailable 17
Fasi di una richiesta HTTP Client browser (1) (3) (4) 204.55.62.18 oggetto Web (5) richiesta HTTP INTERNET (2) server Web 204.55.62.18 www.itimedi.it? DNS sever locale DNS server per www.itimedi.it Fase di lookup: (1) - (2) - (3) Fase di richiesta: (4) - (5) 18
Azioni di un browser (1) Fase di lookup Il browser acquisisce dall utente l URL da richiedere. Il browser invoca il DNS server per conoscere, tramite il sistema DNS, l indirizzo IP dell URL cercato. Se esistente, il DNS restituisce l indirizzo IP. Fase di richiesta Il browser attiva una connessione TCP con l host che ha l indirizzo IP individuato. Sfruttando questa connessione, il browser richiede mediante il protocollo HTTP la risorsa specificata nell URL. Il server Web invia la pagina richiesta. Se vi sono oggetti allegati alla pagina, il browser effettua una richiesta per ciascuno di essi. 19
Azioni di un browser (2) Fase di visualizzazione Una volta inviati tutti gli oggetti (nel caso di protocollo HTTP/1.1) o dopo aver inviato ciascun oggetto (protocollo HTTP/1.0), il server chiude la connessione TCP. Non appena riceve il primo file, il browser analizza come visualizzare sul monitor il testo contenuto nella pagina. Il browser carica e mostra gli eventuali oggetti allegati alla pagina. Nel caso in cui l oggetto ricevuto è in qualche formato non direttamente interpretabile dal browser, questi può attivare un apposito programma plug-in che ne consente la visualizzazione. 20
Compiti del server Web Il compito del server che fornisce pagine Web statiche è molto semplice: attendere da parte dei browser richieste di connessione TCP attraverso cui ricevere una richiesta HTTP decifrare l URL della richiesta per determinare il file cercato controllare se il file è disponibile in caso affermativo, spedire il file al browser attraverso la connessione TCP aperta infine, chiudere la connessione subito dopo aver inviato l ultimo pacchetto concernente il file 21
Uniform Resource Locator Il sistema di indirizzamento delle risorse è basato su Uniform Resource Locator (URL), un meccanismo standard per fare riferimento a tutte le risorse presenti nel Web: pagine (testo, immagini, suoni, video,...) risultati di esecuzioni programmi eseguibili 22
Uniform Resource Locator schema :// host.domain / pathname http :// www.itimedi.it /docenti/orario.html schema: : indica il modo con cui accedere alla risorsa, cioè quale protocollo bisogna usare per interagire con il server che controlla la risorsa. Il metodo di accesso più comune è HTTP (protocollo nativo del WWW per il recupero di risorse Web) host.domain: : è l hostname del nodo nel quale risiede la risorsa Web. pathname: : identifica la risorsa presso il server Web. In particolare, si specifica il cammino all interno dell organizzazione del file system dedicata alle risorse Web. Nel caso in cui il pathname non contenga alcun nome di file, si suppone che la pagina selezionata sia index.html. 23
Audio e video nei browser Una tecnologia che ha conosciuto negli ultimi anni un'enorme espansione è rappresentata dalla diffusione, attraverso World Wide Web, di contenuti multimediali (e in particolare audio e video) in tempo reale. 24
HTTPS Versione sicura del protocollo HTTP supportato da SSL (Secure Socket Layer) per rendere la navigazione protetta da chiave crittografica (non è consentito a estranei di intercettare le pagine visitate). Tipicamente utilizzato per le pagine dei conti bancari online, e-commerce, web-mail o altre informazioni riservate. 25
Connessione HTTPS 1. il client si connette a un server HTTPS 2. il server invia tramite un certificato (con firma digitale di una Autorità di certificazione (CA) o fatto in casa ) la propria chiave pubblica al client 3. il client esamina il certificato e utilizza la chiave pubblica del server per criptare una chiave di sessione 4. il server, che detiene la chiave privata corrispondente alla chiave pubblica inviata al client, la utilizza per decifrare il messaggio del client e ricostruire la chiave di sessione 5. da questo momento inizia la comunicazione protetta 6. alla fine della sessione, la chiave di sessione viene scartata. 26
Server Proxy Nel caso più semplice la comunicazione tra client e server Web avviene direttamente. Più in generale, ove non sia possibile o non conveniente che il client contatti direttamente il server, vengono utilizzati degli intermediari che possono essere di vari tipi,, ma tra cui il più diffuso è il server proxy. 27
Richieste tramite server proxy Client 1 (1) (2) (4) (3) Server proxy Server Web Client k FIREWALL Il server proxy agisce sia da server nei confronti del client Web sia da client nei confronti del server Web. 28
E per tutti quelli che hanno resistito