UNIVERSITÀ DEGLI STUDI DI NAPOLI – FEDERICO II FACOLTÀ DI SOCIOLOGIA - CORSO DI Internet LAUREA IN CULTURE DIGITALI E DELLA COMUNICAZIONE La rete internet e il suo maggior servizio: il web Elementi di informatica e web – a.a. 2011/2012 di Guido Fusco Licenza Creative Commons Il presente materiale è pubblicato con licenza Creative Commons 3.0 Italia “Attribuzione - Non commerciale - Condividi allo stesso modo” http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it Definizione di Internet Internet Internet (1) definita anche rete di reti composta da diverse reti interconnesse, cioè in grado di collaborare efficacemente in termini di comunicazione grazie ad un insieme di regole comuni denominati protocolli della rete internet (1) Interconnected Networks, ovvero Reti Interconnesse 1 …altre definizioni …svariate definizioni Internet e una rete di reti Internet è un insieme di protocolli Internet è un insieme di informazioni Internet è una comunità virtuale Internet è un business 2 Internet: funzionamento Chiunque disponga di: Linea di comunicazione dedicata (ADSL, HDSL…) appoggiandosi ISP Software opportuni può accedere e utilizzare i suoi servizi. fornisce un accesso a Intenet INTERNET Linea di comunicazione telefonica (ISDN, UMTS, …) Servizio: prestazione fornita da una macchina servente (server) a una macchina cliente (client) che ne fa richiesta Ciò è reso possibile da una suite di protocolli di rete Protocollo: insieme di regole e di convenzioni da rispettare perché due calcolatori possano comunicare 2 Suite di protocolli di internet Accedere ad internet e usufruire dei servizi messi a disposizione è possibile grazie ad una suite di protocolli di rete Livello Suite di protocolli internet Livello APPLICAZIONI DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet…. Livello di TRASPORTO TCP, UDP, SCTP, DCCP Livello di INTERNET IP Livello di COLLEGAMENTO Ethernet, Wi-­‐Fi, PPP, TOKEN RING… Tale Suite è più propriamente chiamata protocollo TCP/IP in funzione dei due più importanti protocolli in essa definiti: • TCP (Transmission Control Protocol) • IP (Internet Protocol) 3 Modelli di interazione I modelli di interazione-comunicazione tra calcolatori su internet vengono chiamate Architetture Esistono due modelli di Architetture: Architettura Architettura client / server Architettura peer to peer (P2P) 4 Architettura client-server q Architettura client/server: risulta il modello più semplice e intuitivo da descrivere. Quando un Host A ha bisogno di usufruire di un servizio di internet, ad esempio: • un file da scaricare; • richiesta di una pagina web; semplicemente chiede ad un Host B, opportunamente scelto dalla rete, che gli venga fornito il servizio in questione …fa richiesta di un servizio …fornisce il servizio Host A = client Host B = Server Osservazione: Risulta importante notare che l’architettura client/server è asimmetrica ossia le due macchine rivestono ruolo non intercambiabili 5 Architettura client-server: esempio Scambio di file MP3 Una macchina server detiene al suo interno dei file musicali (MP3). Se i generici Host vogliono scaricarsi i file musicali, è possibile farlo in un modo molto semplice. Il generico Host fa richiesta al server che a sua volta via FTP gli invia il file. Esempio di Architettura CLIENT/SERVER Il trasferimento non avviene tra due “pari” 6 Architettura P2P q Architettura peer-to-peer (P2P): caratterizzata dal fatto che non solo i due Host sono intercambiabili, ma svolgono le stesse funzioni L’architettura P2P nasce dall’idea che non è necessario mantenere un server centrale se ci sono abbastanza utenti distribuiti e ciascuno di essi possiede alcuni file. …fa richiesta del file Host A Host B 7 Architettura P2P: esempio Scambio di file MP3 Ogni utente esegue sul calcolatore un’applicazione specifica (e-mule..o il vecchio Napster). Quest’applicazione, si collega al server, che detiene l’elenco di calcolatori collegati in quel momento. E’ bene osservare che il server non detiene i file, che invece sono residenti su ogni macchina ad esso collegato. Il generico utente fa la ricerca di un file sul server lo trova e la richiesta arriva direttamente al calcolatore che possiede il file richiesto Esempio di Architettura PEER-TO PEER Il trasferimento avviene tra due “pari” 8 Protocollo TCP: funzioni TCP (Transmission Control Protocol ) Le due principali funzioni sono quelle: q Orientate alla connessione : prima di poter trasmettere dati deve stabilire la comunicazione, negoziando una connessione tra mittente e destinatario, che viene esplicitamente chiusa quando non più necessaria. Esso quindi ha le funzionalità per creare, mantenere e chiudere una connessione. q Controllo del flusso informativo: Il protocollo TCP permette di assicurare il trasferimento dei dati in modo affidabile, Il protocollo TCP permette: • alle due applicazioni di trasmettere contemporaneamente nelle due direzioni (full duplex) • di ottimizzare l'utilizzo della rete anche in caso di congestione 9 Protocollo IP IP (Internet Protocol ) Il protocollo IP si occupa di instradare i pacchetti sulla rete. Questo protocollo si basa principalmente su degli indirizzi numerici (numero IP) per instradare i pacchetti nella rete. q non garantisce alcuna forma di affidabilità della comunicazione in termini di controllo di errore, controllo di flusso e controllo di congestione a cui quindi dovrà supplire il protocolli di trasporto di livello superiore (TCP) 10 Indirizzo IP Indirizzo IP (Internet Protocol Andress ) L’indirizzo IP è un numero che identifica univocamente un dispositivo collegato alla rete. Risulta necessario per l' indirizzamento indiretto tramite l'omonimo protocollo di rete IP ovvero per interconnettere (internetworking) più sottoreti diverse all'interno del protocollo TCP/IP Più esattamente l'indirizzo IP viene assegnato a una interfaccia (ad esempio una scheda di rete) che identifica l’host di rete, che può essere un personal computer, un palmare, un router. 11 Indirizz0 IPv4: II L’indirizzo IPv4 numerico è una sequenza di 32 bit raggruppati in 4 gruppi da 8 bit 8 bit 1 0 0 0 0 8 bit 0 1 1 1 0 1 0 1 8 bit 8 bit 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 131.175.12.34 Ogni gruppo di 8 bit è compreso tra 0 e 255 Ipoteticamente è possibile avere: 255 255 255 255 4.228.250.625 di computer in rete 12 Indirizz0 IPv6 L’indirizzo IPv6 è la versione dell'Internet Protocol designata come successore dell'IPv4. Tale protocollo introduce alcuni nuovi servizi e semplifica molto la configurazione e la gestione delle reti IP La sua caratteristica più importante è il più ampio spazio di indirizzamento: poiché questi riserva 128 bit per gli indirizzi IP 2128 3,45*1038 di computer in rete 12 La suite di protocolli: livello APPLICAZIONI Livello Suite di protocolli internet Livello APPLICAZIONI DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet…. q HTTP (Hypertest Transfert Protocol) è il protocollo di trasferimento di un ipertesto. Usato principalmente per la trasmissione di informazioni sul web q HTTPS (User Datagram Protocol Over Secure ) ha le stesse funzioni del protocollo HTTP. Funziona però in chiave crittografica, ossia dove la sicurezza del dato risulta essenziale q DHCP (Dynamic Host Configuration Protocol ) permette ai dispositivi di una certe rete locale di ricevere automaticamente una configurazione IP q SMTP (Simple Mail Transfer Protocol) è il protocollo standard per la trasmissione via internet di email q POP3 (Post Office Protocol) è il protocollo che permette mediante autentificazione l’accesso ad un account di posta elettronica presente su un host q IMAP (Internet Message Access Protocol) E’ il protocollo di comunicazione per ricevere mail 13 La suite di protocolli: livello APPLICAZIONI (II) Livello Suite di protocolli internet Livello APPLICAZIONI DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet…. q FTP (File Transfert Protocol) è il protocollo di trasferimento dati tra due host q DNS (Domain Name System) : Abbiamo detto che i computer connessi ad internet sono identificati da un indirizzo IP. Anche i siti web sono raggiungibili attraverso un indirizzo IP, ma è un numero troppo complicato per essere ricordato per ognuno dei nostri siti preferiti. Nasce così il DNS (Domain Name System) che traduce questo numero in un indirizzo più 'umano' come www.nomesito.it . Il DNS è una tabella in cui ogni riga associa un indirizzo IP a un nome dominio. Spesso è fornito dal ISP q IRC (Internet Relay Chat) è il protocollo che consente sia la comunicazione diretta fra due utenti che il dialogo contemporaneo di interi gruppi di persone in stanze di discussione chiamate canali. 14 Metafora di instradamento pacchetti Problema del trasloco: 1. Abbiamo bisogno di traslocare casa. Le nostre cose dal vecchio appartamento devono essere trasportati nel nuovo appartamento, da un’agenzia specializzata. 2. L’agenzia si rivolge ad una ditta di trasporti e le conferisce l’incarico 3. Gli operai impacchettano le cose da traslocare scrivendo sui pacchi nome ed indirizzo completo del della consegna 4. Alcuni oggetti troppo grandi vengono smontati in singoli pezzi, i quali saranno numerati per facilitare poi il montaggio. Il tutto viene posto in più scatole. 5. Le scatole vengono caricate su alcuni camion che si occupano di traportare il tutto a destinazione. 6. Alcuni camion seguiranno un percorso autostradale, mentre altri utilizzeranno la viabilità ordinaria 7. Alcuni operai dell’agenzia scaricheranno i pacchi, verificano la numerazione delle scatole e si assicurano che nulla è andato perso (in caso contrario si attiveranno per rintracciare le cose perse), rimuoveranno etichette ed imballaggi e rimonteranno il tutto 15 Problema web browsing Problema web browsing: 1. Nella barra degli indirizzi di un browser digitiamo un indirizzo: http://www.nomesito.com 2. Il browser contatta lo strato APPLICAZIONI in particolare il protocollo HTTP (protocollo di trasferimento di un ipertesto) sul nostro computer (l' agenzia di traslochi) che prende in carico la nostra richiesta ed invia al web server che ospita il sito la richiesta di stabilire una "connessione" ; 3. Il Web server riceve la nostra richiesta e instaura la connessione; (livello APPLICAZIONI) 4. Ora che abbiamo stabilito un canale di comunicazione col web server lo utilizziamo per chiedergli l'invio del file abcdef.html; (livello APPLICAZIONI) 5. Il Web server riceve la nostra richiesta e ci invia il file dopo averlo sezionato in "pacchetti" TCP/IP numerati (le scatole del trasloco) la cui quantità dipende dalle dimensioni del file; (livello TRASPORTO e INTERNET) 6. I pacchetti vengono trasmessi sui cavi delle varie reti che è necessario attraversare e non è certo che tutti seguano lo stesso percorso per giungere a destinazione; (livelli INTERNET e COLLEGAMENTO) 7. Il nostro browser riceve i pacchetti (non necessariamente nello stesso ordine in cui sono stati inviati) ed manda periodicamente al web server un ok di ricevuta o un messaggio che chiede la ritrasmissione dei pacchetti perduti o danneggiati; (livelli TRASPORTO e INTERNET) 8. Il nostro browser riassembla il file ricevuto "smontato" e lo visualizza. (livello APPLICATION) 16 Il principale servizio offerto da internet Il World Wide Web Il World Wide Web (WWW o Web) è Il più importante dei servizi messi a disposizione da Internet, utilizza il protocollo HTTP per recuperare pagine Web e altre risorse da un server Web. E’ un enorme ipertesto multimediale, distribuito dotato di un’interfaccia di facile uso q multimediale ciascun documento ipertestuale può contenere non solo testo, ma anche informazioni espresse con media diversi: immagini, video, audio, etc… q distribuito: diverse parti di questo gigantesco ipertesto risiedono su calcolatori diversi e a distanza tra loro q dotato di un’interfaccia di facile uso: la fruizione di questo ipertesto è mediata da un’interfaccia che si prende carico di visualizzare in modo uniforme i dati multimediali. Le applicazioni che realizzano questa interfaccia utente prendono il nome di browser 17 Definizione di ipertesto Un Ipertesto si basa su un'organizzazione dell'informazione di tipo reticolare, ed e costituito da un insieme di unità informative (nodi) e da un insieme di collegamenti (link) che da un blocco permettono di passare a uno o più blocchi. Se le informazioni che sono collegate tra loro nella rete non sono solo documenti testuali, ma in generale informazioni veicolate da media differenti (testi, immagini, suoni, video) l'ipertesto diventa multimediale e viene definito ipermedia nodi nodi nodi nodi nodi L’utente generico può saltare da un punto all’altro del documento o da un documento all’altro seguendo i link nodi I link vengono più propriamente detti collegamenti ipertestuali (in inglese hyperlink) 18 Il world wide web: architettura client/server Il World Wide Web, come del resto altre applicazioni Internet, funziona attraverso una interazione tra un client e un server. § I server mettono a disposizione le informazioni, ovvero i documenti ipertestuali § I client accedono ai documenti multimediali memorizzati sui server attraverso un indirizzo che li individua univocamente. Il protocollo di comunicazione the i due moduli utilizzano per interagire si chiama HTTP (HyperText Transfer Protocol). Tale protocollo, a richiesta e risposta, stabilisce le regole di comunicazione tra Client e Server. Il server memorizza i documenti ipertestuali o Il Client inoltra la richiesta mediante HTTP client pagine web(in formato HTML) Il Server invia al client le varie componenti del documento Server 19 Il world wide web: architettura client/server 20 Sito web e browser q Il server è un programma che rende disponibile delle risorse. Nella fattispecie le risorse costituiscono ciò che possiamo chiamare sito web Un sito web sono documenti raggiungibili a partire da un unico indirizzo inziale e residenti su uno stesso server q Il client è costituito da un browser , ovvero un applicazione che permette di: • Collegarsi al server, interpretando i comandi dell’utente; • Visualizzare i siti web (documenti ottenuti); • Passare ad altri documenti mediante il collegamenti ipertestuali 21 HTML e CSS Per essere inserito nel World Wide Web, un documento deve essere memorizzato in un particolare formato, denominato HTML (HyperText Markup Language). HTML e un linguaggio di marcatura (markup language), ovvero costituito da un insieme di istruzioni ,detti tag o marcatori, tali a descrivere struttura e contenuto della pagina • L'HTML non è un linguaggio di programmazione (in quanto non prevede alcuna definizione di variabili, strutture dati, funzioni, strutture di controllo) • L'HTML in passato veniva anche usato erroneamente per definire lo stile della pagina web, compito oggi eseguito molto più efficacemente dal CSS (Cascading Style Sheets o Fogli di stile) Il CSS è un linguaggio usato per definire la formattazione di documenti HTML, XHTML e XML. Le regole per comporre il CSS sono contenute in un insieme di direttive (Recommendations) emanate a partire dal 1996 dal W3C. • L'introduzione del CSS si è resa necessaria per separare i contenuti dalla formattazione e permettere una programmazione più chiara e facile da utilizzare, sia per gli autori delle pagine HTML che per gli utenti. 22 Una metafora…macabra Se una pagina Web fosse un volto HTML (struttura) CSS come l’espressione che viene data al volto (stile applicato alla struttura) 23 Struttura e stile di un sito web Struttura Struttura con stile 24 Esempio di documento HTML 25 Esempio di foglio di stile 26 Richiesta di una pagina web al server Il collegamento al server richiede i seguenti passi Server http://www.corriere.it 1. L’indirizzo del dominio, viene digitato direttamente dall’utente 2. Il browser chiede al server il documento che deve essere visualizzato 3. Il server risponde inviando le varie parti del documento (testi, immagini animazioni) 4. Il browser inizia la visualizzazione del documento 27 I domini internet I domini internet o nomi a dominio è un codice mnemonico(1) che facilita l'accesso ad una o più risorse di rete, di per sé caratterizzate da un indirizzo numerico (IP Number) Si suddividono in: DOMINI ….. Domini di I livello Domini di I livello Nazionali (1) Domini di II livello ….. Domini di n- livello Domini di I livello Generici Dal regolamento 01.01.2011: http://www.nic.it/documenti/regolamenti-e-linee-guida/regolamento-assegnazione-e-gestione-nomi-a-dominio.pdf 28 Domini di primo livello Domini di primo livello: in inglese Top-Level Domain abbreviato in TLD, è l’ultima parte del nome di dominio Internet; è in altre parole la sigla alfanumerica che segue il "punto" più a destra dell’URL. Si suddividono in: Domini di I livello Domini di I livello Nazionali Domini di I livello Generici 29 Domini di primo livello nazionali Con la crescente diffusione di internet, avvenuta nel corso degli anni '90, sono stati attivati i: Domini di primo livello nazionali: (country code top-level domain), identificati dalle due lettere che meglio rappresentano la sigla del paese. Come ad esempio il .it in Italia, il .fr in Francia ecc. dell’URL. Nazione Dominio di I Livello nazionali ITALIA .it SPAGNA .es FRANCIA .fr GERMANIA .de STATI UNITI .us Oltre ai domini nazionali sono stati attivati, più di recente, anche i domini geografici sovranazionali. In Europa il dominio di primo livello ufficialmente riconosciuto in ambito Ue è il .eu 30 Dominio di primo livello generici In origine esistevano soltanto i domini di primo livello generici. All'inizio internet era un fenomeno prevalentemente americano. Pertanto non c'era alcuna necessità di identificare i domini in base alla territorialità. Domini di primo livello generici erano concepiti per identificare la natura delle organizzazioni sul web. L'estensione .com identificava le attività commerciali, l'estensione .org le organizzazioni ecc. Nel 1985, al momento della loro creazione, erano i seguenti: Dominio di I Livello generici significato .arpa Il primo dominio in onore al progetto ARPA .com attività commerciali (aziende) .edu enti educativi (scuola, università, ecc.) .gov enti governativi statunitensi (governo, uffici federali, ecc.) .net aziende ed enti che si occupano della rete (es. ISP, provider, ecc) .mil enti e organi delle forze militari statunitensi .org altre organizzazioni non comprese nei precedenti top level domain. Col passare del tempo si sono aggiunti nuovi domini di primo livello. Per alcune estensioni la classificazione originaria è andata man mano perdendosi. Ad esempio, oggi tutti possono registrare un dominio .net o .com. In altri casi, come ad esempio il .gov o .mil, la registrazione dei domini è invece ancora oggi riservata ai soli soggetti autorizzati. 31 Domini di secondo e terzo livello Un dominio di secondo livello (SLD- Second Level Domain) è composto da una estensione di dominio di primo livello e da un nome univoco di riconoscimento. www.corriere.it (1) Ogni nome aggiunto alla sinistra del nome univoco, specifica un’ulteriore suddivisione dei livelli, definendo così domini di livello superiore. www.corrieredelmezzogiorno.corriere.it è un dominio di terzo livello. Quando un dominio di secondo livello viene registrato all’assegnatario , questo è autorizzato a usare i nomi di dominio relativi ai successivi livelli (1) 194.20.158.241 IP Number con dominio www.corriere.it 32 URL Qualsiasi documento, immagine, o file multimediale è univocamente determinato tramite una sequenza di caratteri denominata URL (Uniform Resource Locator) 1. Protocollo (http) per recuperare il documento 2. Nome simbolico del dominio, che indica il server 3. Nome locale della risorsa, ovvero lo specifico percorso dove è contenuta http:// www.corso-informatica-web.com /wp-content/uploads/2012/03/lezione_23_03_2012.pdf Gli URL possono essere forniti direttamente dall’utente scrivendolo nella barra degli indirizzi o navigazione, oppure possono essere scelti dall’utente durante la sua visione del documento mediante i collegamenti ipertestuali 33 Esempio di recupero risorsa Vediamo le fasi con cui un browser si rivolge ad un server HTTP: Supponiamo ancora di voler visualizzare la risorsa lezione_23_03_2012.pdf http:// www.corso-informatica-web.com /wp-content/uploads/2012/03/lezione_23_03_2012.pdf 1. Il browser sfrutta il protocollo DNS per trasformare l’indirizzo logico in quello fisico (IP) 2. Il browser inoltra al server la richiesta del documento 3. Il server http determina la correttezza del formato URL 4. Il server http invia il file richiesto e rilascia la comunicazione 5. Il browser interpreta il file ricevuto 34 Il problema della tracciabilità Un problema oggetto di continuo studio, all’interno della interazione utente e server è la “tracciabilità” delle sue richieste Il modo più semplice per l’identificazione sarebbe quello associato al suo indirizzo IP. poiché la maggioranza degli utenti che si collega ad internet usano IP dinamici condurrebbe analisi NON corretta 35 I cookie Visto che dall’IP risulta impossibile identificare un utente in maniera stabile Utilizzano Cookie Cookie(1) è un piccolo messaggio (poche righe di codice) che il web server manda al browser insieme alla pagina visualizzata Quando il browser si collega al sito web riceve il suo cookie. Quest’ultimo viene dunque associato ad un utente specifico, quello che si è appena collegato. La prossima volta che quell’utente si collega al medesimo sito web, il cookie viene letto dal server e procede alla sua identificazione (1) http://www.webanalyticsassociation.org/ 36 Utilizzo dei cookie: abitudini L’utilizzo dei cookie si basa su una serie di considerazioni sulle abitudini degli utenti 1. Tra il visitatore ed il browser vi è quasi sempre una relazione 1:1 ovvero ciascun utente usa sempre lo stesso browser, ed ogni browser sull’elaboratore è usato dallo stesso utente 2. Gli utenti raramente disabilitano i cookie sul loro browser 18 16 14 Dati espressi in %, da uno studio di jupiter 12 research 10 8 6 4 2 0 Eliminano i cookie quoQdianamente Svuotano la cache mensilmente Eliminano i cookie seSmanalemtne 3. Gli utenti raramente cambiano elaboratore. 37 Tipologie di coockie Tipologie dei cookie q cookie di sessione ovvero cookie transitori che durano e permangono nella memoria solo fintanto che dura la navigazione del browser q cookie persistenti inviati dal server al browser dell’utente e conservati anche oltre la fine sella sessione di visita q cookie di terze parti ovvero cookie che sono inviati da server diversi da quelli che ospitano le pagine web che si visitano. Un esempio tipico è durante la visita di siti web di informazione quotidiana, dove si incontrano banner pubblicitari non ospitati sullo stesso server dove risiede il sito web 38 Nascita del web Alcune applicazioni dei cookie Applicazioni Cookie Gestione dei carrelli di spese in e-commerce Riconoscimento automatica ad aree riservate Studio e analisi delle visite WEB ANALYTICS 39