ANNUNCI QUESTA SETTIMANA INIZIANO MODULO C, D, E LABORATORI!! Modulo B: NON CI SARANNO LEZIONI MARTEDI’ 10-12 (B2) 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA EACL) CAMBIAMENTO ORARI: MODULO C, LAB D LABORATORI: http://www.dit.unitn.it/~poesio/Teach/IU: piano delle lezioni di Informatica Umanistica D online. Orari: Moduli C1, C2 e C3 LUN MAR MER GIO VEN 8-10 10-12 B2 12-14 C2 14-16 B3 16-18 18-20 C1 B1 C1 C3 Orari: Modulo D LUN MAR MER GIO VEN 8-10 10-12 B2 12-14 C2 14-16 B3 16-18 18-20 D C1 B1 C3 Orari: Laboratori LUN MAR MER GIO 8-10 LAB A LAB B (B2) 10-12 LAB E 12-14 C2 14-16 B3 16-18 LAB C 18-20 VEN B1 LAB D D LAB D (17/3) C1 C3 RICEVIMENTO (MASSIMO POESIO) Ricevimento: Martedi’ 16-18, via Sighele INFORMATICA UMANISTICA B 6: APPLICATION LAYER EMAIL IPERTESTI WEB RIASSUNTO PUNTATA PRECEDENTE Struttura e realizzazione fisica delle reti Protocolli di comunicazione a diversi livelli: Physical Network Transport Application Internet e TCP / IP Application APPLICATION LAYER Transport Network Link & Physical Si colloca al di sopra del livello Transport ed è il livello nel quale viene svolto il “lavoro utile” per l’utente In questo livello si trovano diversi protocolli, alcuni relativi alle applicazioni che usiamo abitualmente in Internet SMTP: Simple Mail Transfer Protocol FTP: File Transfer Protocol TELNET HTTP: HyperText Transfer Protocol IL MODELLO CLIENT / SERVER MODELLO CLIENT / SERVER I protocolli del livello Application sono basati sul modello di interazione client/server Per usare i servizi messi a disposizione mediante questi protocolli bisogna contattare un server Per esempio: tutte le volte che usate il browser e richiedete delle pagina di un sito web, di fatto state contattando un web server remoto Per esempio: tutte le volte che inviate una e-mail di fatto del vostro provider contatta il mail server del provider del vostro destinatario IL PROGRAMMA CLIENT Gestisce l’interazione con l’utente Si preoccupa di fornire un’interfaccia intuitiva `Nasconde’ l’interazione con il server Che avviene tramite messaggi secondo un protocollo tipo SMTP / HTTP / VOIP Esempio di client: browser, mail client (Outlook) IL PROGRAMMA SERVER Mette a disposizione delle risorse (per esempio, pagine web) Accetta richieste da client locati ovunque (purche’ trasmesse seguendo protocollo) Potrebbe essere eseguito sullo stesso calcolatore su cui gira il client!! Per esempio, PC che gestisce un sito web CLIENT / SERVER SU INTERNET APPLICATION LAYER: POSTA ELETTRONICA Si basa sul protocollo SMTP e permette lo scambio dei messaggi tra gli utenti collegati alla rete È necessario fornire: L’indirizzo del mittente L’indirizzo del destinatario Il corpo del messaggio Gli indirizzi devono avere un formato ben preciso LA POSTA ELETTRONICA Nome utente Nome host che ospita la casella postale dell’utente [email protected] Separatore (simbolo a commerciale che si legge ‘at’) La posta elettronica Per leggere i messaggi di posta elettronica arrivati nella nostra casella, e per scrivere ed inviarne ai nostri corrispondenti, dobbiamo usare uno specifico programma o client mail che preleva i messaggi e li porta sul nostro computer E-MAIL MAIL SERVER MAIL SERVER Application layer: DNS Gli indirizzi IP numerici sono difficili da ricordare Si usano quindi degli indirizzi simbolici che sono più significativi per l’essere umano dit.unitn.it, essex.ac.uk, developer.netscape.com Questi nome vengono tradotti in indirizzi IP numerici mediante il Domain Name System (DNS) Gli indirizzi simbolici hanno un formato come quello seguente … nome5.nome4.nome3.nome2.nome1 Application layer: DNS Sono costruiti a partire da uno schema gerarchico di nomi basato sul concetto di dominio root com edu gov mil net org au … it unitn gnu … zw unito Livello 1 Livello 2 www.gnu.org www www.lett.unitn.it lett dit di Livello 3 www www www Livello 4 Application layer: DNS Domini di primo livello (top level) com Aziende edu università americane gov istituzioni governative mil istituzioni militari net fornitori d’accesso org organizzazioni non-profit … … au Australia fr Francia it Italia jp Giappone uk Regno Unito … … Application layer: DNS Ogni dominio deve essere in grado di “risolvere i nomi” dei calcolatori di sua competenza Si usano i name server che gestiscono la corrispondenza tra nomi simbolici e indirizzi IP numerici Quando un’applicazione deve collegarsi ad una risorsa di cui conosce il nome logico (ad es. www.unitn.it), invia una richiesta al suo name server locale Application layer: DNS Il name server, se conosce la risposta, la invia direttamente al richiedente Altrimenti interroga il name server di top level; questi può conoscere l’indirizzo oppure inoltrare l’interrogazione ai suoi figli nella gerarchia Si continua con le interrogazioni fino a quando non si ottiene l’indirizzo IP numerico della risorsa Quando l’applicazione riceve la risposta crea una connessione TCP con la destinazione, usando l’indirizzo IP appena ricevuto APPLICATION LAYER: WORLD WIDE WEB Una `ragnatela’ di DOCUMENTI collocati su computer in tutto il mondo Il piu’ grande serbatoio di informazioni che sia mai esistito Si accede tramite: Un client chiamato BROWSER Servers sui siti che distribuiscono informazione Basato su: Il protocollo HTTP per la trasmissione di documenti La nozione di ipertesto ASPETTI CHIAVE DEL WWW Meccanismo di indirizzamento universale: URL Protocollo HTTP per la trasmissione di documenti Linguaggio HMTL per la formattazione dei documenti STORIA BREVE DEL WWW Fine anni ’80: iniziativa di Tim Berners-Lee al CERN di Ginevra per la condivisione di documenti tra fisici delle alte energie 1989-1991: prime definizioni di URL, HTTP, ed HTML 1993-1993: primo browser facile da usare, NCSA MOSAIC 1995: Nascita di NETSCAPE, inizio della crescita esplosiva Oggi: almeno 8 miliardi di pagine Web INDIRIZZI SU RETE: URL URL (Uniform Resource Locator) e’ lo standard per gli indirizzi delle risorse su Web Specifica: Come accedere alla risorsa (PROTOCOLLO) Dove si trova la risorsa (indirizzo dell’host) Nome della risorsa (path) Formato: protocollo://host/path URL PER HTTP Forma generale: scheme://host:port/path?parameter=value#anchor Esempi: http://www.unitn.it/ http://www.dit.unitn.it/~poesio/Teach/IU http://www.google.it/search?hl=it&q=URL ALTRI TIPI DI URL e-mail: indirizzo di documenti sullo stesso computer: mailto:user@host mailto:[email protected] file://localhost/path file://C:/Documents%20and%20Settings/poesio/ documenti su altri computer via FTP: ftp://ubvm.cc.buffalo.edu/vmsysu%3alistserv.webs hare DALL’IPERTESTO AL WEB Un ipertesto (HYPERTEXT) e’ un testo diviso in parti testuali vere e proprie collegate da rimandi (LINKS) TESTI: LETTURA SEQUENZIALE IPERTESTI ESEMPI DI IPERTESTI Quasi tutte le opere enciclopediche oggi hanno forma ipertestuale Formato molto comune anche per articoli scientifici (bibliografia, note a pie’ di pagina) Esempio: http://it.wikipedia.org/wiki/Ipertesto Per esempio, nella Biomedicina Ma anche nelle materie umanistiche Narrativa ipertestuale: Lettore puo’ scegliere che percorso seguire Primo esempio riconosciuto: Afternoon, a story di Michael Joyce La Electronic Literature Organization mantiene una Electronic Literature Directory DALL’IPERTESTO AL WEB 1945 Vannevar Bush: l’organizzazione ‘lineare’ dei testi non corrisponde veramente a come pensiamo Il termine HYPERTEXT introdotto da Ted Nelson (1965) Nel 1980 Bill Atkinson sviluppo’ per la Apple il programma HYPERCARD che permetteva di creare ipertesti tramite il linguaggio HYPERTALK 1989 Tim Berners-Lee sviluppa come parte del progetto WWW il linguaggio HTML, che permette di esprimere links. Il WWW e’ un immenso hypertext distribuito HTML Il linguaggio ‘storico’ della Web Un linguaggio di annotazione dei documenti che permette di collegare documenti in un ipertesto Due funzioni principali: Specificare come il documento dev’essere visualizzato Specificare links (usando URL) Discusso nei laboratori ESEMPIO DI HTML: CODICE DI UNA PAGINA WEB RISULTATO HTTP Si basa sul protocollo HTTP (HyperText Transfer Protocol) che gestisce l’interazione tra un client e un server web Client e server si scambiano dei messaggi Richieste da parte del client Risposte da parte del server Più precisamente: L’utente richiede una pagina residente su un server e il suo browser richiede una connessione TCP con il server Il server accetta la connessione iniziata dal browser Il browser ed il server si scambiano messaggi La connessione viene chiusa ESEMPIO DI COMUNICAZIONE HTTP GET /wiki/Pagina_principale HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5 Accept-Language: en Host: it.wikipedia.org BROWSER HTTP/1.0 200 OK Date: Mon, 28 Jun 2004 10:47:31 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 Content-Language: it Content-Type: text/html; charset=utf-8 …. <HTML> [ ...] SERVER MOTORI DI RICERCA Dato il numero enorme di documenti sul Web, qualche modo per trovare l’informazione e’ necessario Due modi principali Catalogo tematico (www.yahoo.com) Ricerca (altavista, Lycos, google) Motori di ricerca: Indicizzano miliardi di documenti Permettono di ritrovare I documenti giudicati ‘rilevanti’ data una query GOOGLE APPLICATION LAYER: ALTRI ESEMPI TRASFERIMENTO FILE: COLLEGAMENTO REMOTO: Si basa sul File Transfer Protocol (FTP) Permette di collegarsi a siti remoti per prendere (download)/salvare (upload) file L’accesso può essere riservato (tramite login e password) oppure aperto a tutti (si parla di anonymous ftp) Telnet: permette di collegarsi a calcolatore che si trovano in località remote per lavorare interattivamente su di essi SSH VOIP (Skype e simili) LETTURE Ciotti e Roncaglia, capitoli V-VI Simona Casciano, Filologia ed informatica, disponibile su Griselda Online Su Wikipedia: World Wide Web HTTP URL