I livelli del protocollo TCP/IP TCP/IP è un protocollo a livelli livello delle applicazioni: servizi di rete per l’utente (web, posta elettronica, ftp...) livello di trasporto (TCP): organizzazione dei dati per la trasmissione e controllo della trasmissione livello di rete (IP): indirizzamento ed instradamento dei dati (pacchetti) livello fisico: uso dei cavi (o altro mezzo di trasmissione) ed invio di segnali fisici
Il livello delle applicazioni 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, alla base delle applicazioni che usiamo abitualmente in Internet
Applicazioni in rete Le applicazioni in rete adottano il modello client-server e il loro funzionamento è regolato da protocolli del livello delle applicazioni, tra cui: Simple Mail Transfer Protocol (SMTP) per la posta elettronica; File Transfer Protocol (FTP) per trasferire file (upload e download); Hyper-Text Transfer Protocol (HTTP) per il Web Telnet consente ad un computer di diventare un terminale remoto di un altro
Protocollo SMTP: Posta elettronica Il servizio prevede un software che gestisce l'invio dei messaggi (sul client/outgoing server) un software che gestisce la ricezione dei messaggi (sul incoming server) I due servizi possono essere forniti dalla stessa macchina Caselle di posta elettronica: sono aree di memoria in genere sull'incoming server a cui è dato un nome con questo schema: nomecasella@nomedominio esempio annarossi@dm.unito.it
Posta elettronica pianeta.di.unito.it outgoing server mario rossi smtp.kcl.ac.uk incoming server john smith
Posta elettronica Il percorso di un messagggio di mario rossi a john smith del King's College di Londra che ha indirizzo jsmith@kcl.ac.uk pianeta.di.unito.it richiede una connessione TCP a smtp.kcl.ac.uk per fare ciò contatta il DNS per risolvere l'indirizzo simbolico kcl.ac.uk ottenuto l'indirizzo IP stabilisce una connessione TCP e invia il messaggio che sarà depositato nella casella postale jsmith@kcl.ac.uk su smtp.kcl.ac.uk
L'utente interagisce con client e i server SMTP mediante software di gestione della posta (Mailers) come Outlook, Eudora, Netscape Mail etc... I programmi possono gestire in due modi la casella di posta: la casella viene scaricata sul computer locale dell'utente (Protocollo POP3) la casella viene mantenuta sul server e l'utente vi accede remotamente (Protocollo IMAP)
Formato MIME SMTP supporta solo l'uso di messaggi in formato ASCII con caratteri a 7 bit, per trattare altri tipi di informazioni (caratteri estesi, immagini, file word etc...) devono essere codificate in questo formato Lo standard MIME (Multipurpose Internet Mail Extension) stabilisce come convertire e trasmettere i dati in formato testuale per molti formati Il compito della codifica spetta al programma Mailer
World Wide Web Il World Wide Web è un ipertesto multimediale distribuito. ipertesto è un testo la cui struttura è reticolare, invece che semplicemente lineare o gerarchica. La sua visualizzazione richiede l’uso di un browser: un programma client per la visualizzazione dei documenti e per la navigazione in rete.
Ipertesto: struttura Un ipertesto si compone di nodi (“pagine”) e collegamenti (link).
Terminologia per gli ipertesti sul web browser: programma applicativo per navigare in rete page (pagina): singolo “foglio” di un ipertesto home-page: “punto di ingresso” di un sito web hotspot, hotword: porzione di una pagina che, se selezionata, permette di raggiungere un altro punto dell’ipertesto o una nuova risorsa FAQ: domande ricorrenti su un certo argomento motore di ricerca: sito che permette di cercare documenti e siti, di solito mediante inserimento di parole chiave portale: sito Web che offre risorse e servizi; è il punto di ingresso verso altri siti
Il protocollo HTTP Il World Wide Web, si basa sul protocollo Hyper Text Transfer Protocol (HTTP). Come tutti i servizi di rete utilizza l’architettura client/server. il client (browser), programma applicativo che viene eseguito sul computer dell’utente il server http, programma applicativo che viene eseguito sul computer del fornitore di informazioni La comunicazione tra client e server avviene secondo il protocollo TCP/IP usando gli indirizzi IP di dei computer che ospitano client e server
Cosa succede quando si richiede una pagina web ad esempio: www.di.unito.it/~olivetti/BCTU/index.html il browser chiede al DNS l'IP di www.di.unito.it il DNS risponde con il corrispondente indirizzo IP il browser fa una connessione TCP all’indirizzo IP il server invia il file richiesto se c'e', altrimenti un messaggio di errore viene rilasciata la connessione TCP il browser visualizza il contenuto del file L'invio di ciascuna pagina richiede una (o più) connessioni TCP
Transazione Web
Navigazione: il browser Pulsanti di navigazione URL Pagina con relativi links Segnalibro
Operazioni comuni ai browser Indicare direttamente il server a cui collegarsi, inserendo la URL tornare indietro ripercorrendo la catena dei links seguiti vedere la storia (history) della navigazione tornare alla home-page: pagina adottata come punto di partenza della navigazione dal browser costruire una lista di segnalibri (bookmarks, preferiti)
Lo stato della connessione TCP si legge nella barra di stato in basso Lo stato della connessione TCP si legge nella barra di stato in basso. Vengono visualizzati messaggi come: Looking up host Contacting host Host contacted waiting for reply Opening page …
Usando i pulsanti della barra degli strumenti si possono eseguire delle azioni in modo veloce Quando si usa il pulsante Back (indietro), il browser visualizza la pagina prendendola dalla sua memoria cache (anzichè contattare nuovamente il server) Una pagina può essere sempre ricaricata mediante il comando "reload" o "aggiorna"
Indirizzamento URL Gli indirizzi dei documenti nel Web sono detti Uniform Resource Locator (URL) e li identificano in modo univoco Sono formati da: protocollo per la connessione (HTTP per pagine web) nome simbolico (o indirizzo IP) del server pathname del file sul server, esempio: http://www.di.unito.it/~olivetti/BCTU/index.html Vengono scritti nella barra degli indirizzi
Altre connessioni con il Browser ftp://ftp.azienda.com connessione con il server ftp di azienda.com telnet://astra.azienza.com connessione telnet al server telnet astra.azienda.com http://123.24.45.127/index.html in questo caso si è utilizzato l'indirizzo IP del server http e si è richiesto il file index.html https://www.alitalia.it/prenotazioni/modulo.html connessione http sicura con www.alitalia.it (le informazioni sono trasmesse in modo cifrato) e si è richiesto il file modulo.html della directory prenotazioni
Proxy Server I proxy server sono server con funzione di ponti nella rete a cui viene delegato il compito di scaricare le informazioni, vantaggi: il proxy ha in genere una connessione in banda larga con la rete (comunicazione molto più veloce) il proxy ha funzione di cache molto grande per le pagine usate più recentemente e frequentemente dagli utenti, quando l'utente le richiede vengon inviate dal proxy non dal sito da cui provengono
I cookies Il protocollo http non permette che il server contattato "riconosca" un utente che si è già collegato, dato che ogni pagina inviata richiede una connessione TCP indipendente I cookies sono un meccanismo per riconoscere un utente. Un cookie è un file che contiene informazioni sulle pagine visitate dall'utente, è prodotto dal server e viene memorizzato sul client (il computer con cui si naviga) quando l'utente si ricollega il contenuto di tale file viene mandato al server, che lo usa in vario modo: per inviare la pagine in modo personalizzato, per pubblictà mirata etc.
Pagine e siti Un singolo documento Web è una pagina; una pagina non è tuttavia un singolo file, ma può comporsi di più file di tipo diverso: testuale, immagini, simboli, animazioni, ecc. Una collezione di pagine riconducibili ad un autore e ad una unita tematica formano un sito. Spesso i siti risiedono su di uno stesso host, sebbene non sia necessario. Un sito possiede una pagina di ingresso, o pagina principale, detta home page, la quale consente l’accesso alle altre pagine del sito (ma anche a pagine di siti diversi).
<marcatore> … </marcatore> I linguaggi del Web Il Web utilizza vari linguaggi per costruire pagine web con funzioni differenti: linguaggi di “marcatori”: descrivono caratteristiche del testo del del suo layout <marcatore> … </marcatore> linguaggi di “script” permettono di inserire effetti dinamici: sono linguaggi di programmazione semplici interpretati linguaggi di programmazione: sono in grado di sfruttare tutte le risorse di calcolo sia del server che del client:
HTML: (Hyper Text Markup Language) linguaggio per costruire pagine sia riguardo al testo che riguardo ai link alle altre componenti o ad altre pagine. XML: è un linguaggio di marcatori piu sofisticato di HTML, permette di strutturare le pagine ed i dati contenuti nelle pagine mediante informazioni semantiche, distinguendo forma e contenuto Script languages: linguaggi interpretati per combinare funzionalità dei server e dei client (es. Javascript, Perl) permettono di definire effetti dinamici (animazioni, azioni) Java: un vero linguaggio di programmazione, sia lato client che server.
Pagine statiche e dinamiche Un pagina è statica se il suo contenuto, struttura ed apparenza sono fissi (almeno fin quando il gestore del sito non intervenga a modificarne i file). Una pagina è invece dinamica quando la composizione del documento avviene al momento della sua richiesta, ad esempio per fornire il risultato di un’ interrogazione a un database
Pagine statiche: HTML <html> <head> <title>Pagina di prova</title> </head> <body> <h1 align=“center”>Titolone della pagina</h1> <hr> Prima Parte <p> <img src="calimero.jpg"> Ecco il link al <a href=“http://www.di.unito.it/”> Dipartimento di Informatica </a>. per informazioni rivolgersi a <a href="mailto:srossi@di.unito.it"> Sara Rossi</a> </body> </html>
DHTML-Scripting <HTML> <HEAD> <TITLE>Minitest</TITLE> </HEAD> <BODY BGCOLOR=FFFFFF> <H2 align="center">Minitest di informatica</H2> <P> <FORM> <STRONG><FONT SIZE=5>Che cosa è la ALU?</FONT><STRONG> <FONT SIZE=4><P> <INPUT TYPE=RADIO onClick="alert('Risposta errata')">acronimo per " Automatic Loading Unit"<BR> <INPUT TYPE=RADIO onClick="alert('Risposta esatta')">l'unità logico-aritmetica<BR> <INPUT TYPE=RADIO onClick="alert('Risposta imprecisa')">un circuito del computer<BR> </FONT> </FORM> </BODY> </HTML>
Ricerche su Internet Motori di ricerca Indici sistematici Database e cataloghi on line (OPAC)
Programmare applicazioni Web Programmazione lato client: le pagine web contengono programmi che vengono eseguiti dal browser (controllo dei dati, esecuzione di funzioni, apertura di finestre etc.) sono utilizzati i linguaggi di script Programmazione lato server: programmi che vengono eseguiti dal server e generano pagine web (ad esempio generano ed eseguono una query a un database con i dati inseriti dall'utente)
Motori di ricerca Motori di ricerca: ricercano documenti su web mediante parole o combinazioni di parole La ricerca è indiscriminata (nel senso che tutti i documenti indicizzati che menzionano le parole chiave vengono elencati). Usano dei programmi chiamati sofbot (o spider) per esplorare il web alla ricerca dei documenti
Uso dei motori di ricerca La ricerca dei documenti avviene quasi sempre mediante parole chiave l’utente deve specificare in pochi termini le proprie esigenze informative Problema: molto spesso si ottengono troppe risposte (sovraccarico informativo) Per diminuire il numero di risposte si deve specializzare ulteriormente la domanda
Specializzare la ricerca Si possono usare operatori booleani AND, OR, NOT Espressioni esatte “espressione” NB: ogni motore di ricerca adotta una sua sintassi convenzionale. Si deve selezionare la voce Advanced Research per vedere le opzioni messe a disposizione
Motori di ricerca per termini www.altavista.com www.lycos.com www.google.com www.excite.com www.virgilio.it
Un motore di ricerca: AltaVista
Altavista Indicizza 150 milioni di pagine Modalità ricerca: semplice avanzata: uso di operatori booleani restrizione del campo temporale della ricerca
Un motore molto semplice ma molto potente
Indici sistematici Sono cataloghi ragionati di risorse, suddivisi per settori e organizzati gerarchicamente secondo categorie e sottocategorie. In genere un indice ha una base dati piu’ ristretta rispetto ai motori di ricerca, ma le informazioni sono organizzate meglio. In genere gli indici e motori di ricerca sono associati in uno stesso sito, ma la ricerca è diversa Yahoo! Looksmart Virgilio Arianna
Un indice sistematico: YAHOO!
Cataloghi e database on line non sono in genere indicizzati dai motori di ricerca perchè le loro informazioni sono generate dinamicamente Occorre conoscere la struttura del database per fare ricerche (formulazione di query) OPAC (On-line Public Access Catalog) per ricerche bibliografiche indirizzi di OPAC italiani: http://www.aib.it Servizio Bibliotecario Nazionale: http://www.sbn.it biblioteche del Piemonte: http://sbnweb.csi.it:8092/CIC/BASIS/opacx/udmopac/esimplex/sf
OPAC Ricerca in un DB di una biblioteca (catalogo), la catalogazione utilizza il formato UNIMARC, ogni record ha i campi: titolo indicazione di responsabilità (autori, curatori) edizione luogo di edizione data di edizione descrizione fisica numero ISBD/ISSN collocazione