Parte 4 Modulo 8: Posta elettronica Modello di servizio Scopo: trasferimento di messaggi tra utenti L'accesso alla casella di posta elettronica è normalmente controllato da una password o da altre forme di autenticazione. La modalità di accesso al servizio è asincrona: non è necessario che mittente e destinatario siano contemporaneamente attivi o collegati. La consegna dei messaggi al destinatario non è garantita. Se un mail server non riesce a consegnare un messaggio, può inviare una notifica al mittente, ma anche questa è un messaggio di e-mail. Il mittente può richiedere una conferma di consegna o di lettura dei messaggi, ma il destinatario è normalmente in grado di decidere se vuole inviare o meno tale conferma. Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.120
Posta elettronica Tre componenti principali (sistema client-server): - Mail User Agent (MUA) - Mail server - Simple Mail Transfer Protocol (SMTP) User Agent - lettore della posta - composizione, editing, lettura messaggi di posta - esempi: Eudora, pine, elm, Netscape Messager, Outlook, Express - messaggi in ingresso/uscita memorizzati sul server mail server SMTP mail server SMTP SMTP mail server outgoing message queue mailbox Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.121 Mail server Mail Server - mailbox contenente i messaggi in ingresso ancora da leggere dell utente (incoming mail) - coda di messaggi di posta in uscita da inviare (outcoming mail) - protocollo SMTP tra mail server per inviare messaggi di posta mail server SMTP mail server SMTP SMTP mail server Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.122
Indirizzo di posta elettronica rossi.mario@mail.unimo.it nome utente host.domain La parte a sinistra della @ identifica l utente in maniera univoca. La parte a destra della @ identifica invece lo specifico COMPUTER (Host) all interno della rete che lo ospita. L'indirizzo e-mail può contenere qualsiasi carattere alfabetico e numerico (escluse le accentate) e alcuni simboli come l'underscore (_) e il punto (.). Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.123 Architettura di mail Invio m-k.... m-3 m-2 m-1 spool mail in partenza Client di spedizione Lettura Interf. utente -1-2 -3-4... -n. caselle postali Server di ricezione Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.124
Destinazioni e mailbox La destinazione è una macchina il cui nome è caratterizzato come mail-exchange object Il nome della mailbox, normalmente corrisponde ad uno name, ma può corrispondere ad un alias Una mail può anche arrivare da un utente interno (quindi non arriva tramite una connessione dall esterno) Una mail, sia dall esterno sia dall interno, può essere inoltrata ad un altra destinazione (mail forwarding) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.125 Simple Mail Transfer Protocol SMTP [RC 821] [RC 822] - Protocollo per la trasmissione di mail tra mail server - Protocollo semplice e testuale - Sendmail: primo ad implementare SMTP - Paradigma client/server, in cui: client: mail server del mittente server: mail server del destinatario client e server in esecuzione su ogni mail server Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.126
Simple Mail Transfer Protocol (cont.) - Usa il protocollo di trasporto TCP per il trasferimento affidabile dei messaggi tra client e server (porta 25) - Trasferimento diretto: dal mail server del mittente al mail server del destinatario - Tre fasi del trasferimento TCP: handshaking, trasferimento, chiusura - Interazione comando/risposta: comando: testo ASCII risposta: codice di stato e frase - Il messaggio deve essere in ASCII a 7 bit Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.127 Simple Mail Transfer Protocol (cont.) Il messaggio di mail consiste di due parti: un header che contiene dei campi codificati il body del messaggio che è un testo libero in ASCII a 7 bit Il dialogo sender-receiver avviene sulla porta 25 con connessione TCP ed è costituito da frasi in formato testuale comprensibili immediatamente ad un essere umano Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.128
ormato del messaggio SMTP RC 822 definisce lo standard per il formato del messaggio: Linee di header, es.: To: rom: Subject: Diverse dai comandi SMTP! header corpo linea vuota - Corpo il messaggio, soltanto in caratteri ASCII. Linea contenente solo. Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.129 Esempio Subject: Avviso Date: 12/12/2000, 18:25 rom: <direttore@dii.unimo.it> To: <mc@dii.unimo.it> Replay-to: segretaria@dii.unimo.it Caro Professor Colajanni, volevo comunicarle che... - Alcuni campi nell header sono obbligatori, altri sono opzionali - Il client di trasmissione interpreta l header in modo da gestire il dialogo col server corrispondente - Quindi trasmette il messaggio una riga alla volta Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.130
Messaggi non testuali SMTP tratta correttamente soltanto caratteri ASCII a 7 bit PROBLEMA: Come trasferire un messaggio che contiene altri caratteri o addirittura dati in binario? Metodi gestiti esplicitamente dall utente: uuencode binex... Standard de facto attuale: Multipurpose Internet Mail Extension (MIME) [RC 2045, 2056] Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.131 MIME Content type Tipo Sotto-tipo descrizione Text Plain testo semplice Multipart Mixed parti indipendenti ma l ordine si mantiene Parallel parti indipendenti ma l ordine non si mantiene Alternative versioni alternative della stessa parte Digest simile a mixed ma il tipo/sottotipo di default è message/rfc822 Message rfc822 il body stesso è un messaggio conforme a RC822 Partial frammento di un body più grande, spezzato External-body contiene un puntatore ad un oggetto che esiste altrove Image jpeg formato JPEG gif formato GI ideo mpeg formato video MPEG Audio Basic canale singolo 8 bit ISDN mu-low codificante un campione a 8KHz Application PostScript file in postscript octect-stream dato binario in byte (8 bit completi) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.132
Protocolli di accesso alla posta SMTP SMTP POP3 o IMAP mail server del mittente mail server del ricevente SMTP: consegna/memorizzazione al mail server del destinatario. NON ALLO USER AGENT! Servono protocolli di accesso alla posta arrivata sul mail server. Es. - POP3: Post Office Protocol [RC 1939] autorizzazione ( mail server) e download IMAP: Internet Mail Access Protocol [RC 1730] più caratteristiche (maggiore complessità) manipolazione dei messaggi memorizzati sul server HTTP: accesso alla mail tramite Web (Hotmail, Yahoo! Mail, ecc.) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.133 Protocollo POP3 asi di una sessione POP3 ase di instaurazione della connessione - apre una connessione TCP con mail server (demone pop in attesa di connessioni TCP sull host col mail server) ase di autorizzazione - invia al mail server la propria login e password ase di transazione - recupera i messaggi (necessità di scaricarli per leggerli) - può indicare alcuni messaggi affinché siano mantenuti sul server (modalità download-and-delete e download-and-keep) ase di aggiornamento - dopo il comando quit eseguito dal client vengono cancellati dalla mailbox i messaggi indicati dal client Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.134
Protocollo IMAP Più funzionalità e maggiore complessità rispetto al protocollo POP3 Permette all utente di modificare la propria mailbox come se fosse locale Es.: creazione di cartelle (folder) remote nella mailbox Es., ricerca (search) di particolari messaggi nelle cartelle remote Il server IMAP deve essere in grado di gestire una gerarchia di mailbox per ogni utente e mailbox condivise tra più utenti Permette all utente di ottenere alcune parti del messaggio Es., specificare quali attachment scaricare Caratteristica utile per connessioni a banda stretta (ad es., dispositivi mobili) Supporto per password criptate Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.135 Accesso alla posta tramite Web Servizi di posta elettronica tramite Web (es., Hotmail e Yahoo! Mail) Il Web browser è lo comunicazione con mailbox su mail server tramite HTTP Permette all utente di modificare la propria mailbox come se fosse locale (analogamente a IMAP) es., definizione di cartelle (folder) remote nella mailbox es., ricerca di determinati messaggi nelle cartelle remote Svantaggio maggiore lentezza Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.136
Parte 4 Modulo 9: Motori di ricerca Motori di ricerca Un applicazione che aiuta nella ricerca di documenti su Web La ricerca è basata su l uso di parole chiave (keyword) Il risultato è una lista di risorse Web che contengono la/e parola/e chiave richiesta/e Il più famoso è: www.google.it (supera gli 8 miliardi di pagine!) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.138
Interfaccia dei motori di ricerca Ogni motore di ricerca contiene una zona scrivibile nella quale digitare la richiesta (query) Dopo di che premendo il tasto SEARCH (o tasti dai nomi analoghi) il motore avvia la ricerca dei documenti presenti sul Web che corrispondono alla richiesta Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.139 Interfaccia dei motori di ricerca La query più semplice è costituita da un semplice termine da cercare. Premuto il tasto SEARCH si ottiene in risposta la lista di tutti i documenti che contengono il termine indicato. Ogni risposta comprende: il titolo di una pagina WWW l'indirizzo (cliccabile) della pagina un estratto della pagina, per avere un'idea del contenuto eventuali altre informazioni, es. la dimensione in byte della pagina, la data di creazione o ultimo aggiornamento, ecc. Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.140
Esempi di siti http://www.google.com http://www.altavista.com http://www.excite.com http://www.yahoo.com http://www.msn.com (Microsoft) http://www.libero.it http://www.virgilio.it Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.141 Strumenti dei motori di ricerca Solitamente un motore di ricerca utilizza una serie di programmi spider (o web crawler) che navigano continuamente ed indipendentemente tra i siti Web e ritornano quanti più documenti possibile Un altro programma, chiamato indexer, legge i documenti e crea un indice basato sulle parole contenute in ogni documento Ogni motore di ricerca utilizza un programma proprietario per indicizzare i risultati in modo opportuno Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.142
Aspettative utente Ci si aspetta che i documenti più interessanti o maggiormente collegati alla lista di parole chiave fornita si trovino in cima alla lista Questo può non succedere se: Il programma di indicizzazione non è efficiente La selezione di parole chiave fornita dall utente è ambigua o troppo generica Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.143 Ricerca avanzata Se la parola chiave è troppo generica (è associata a più significati diversi) o se la richiesta dell utente è ambigua, si può avere un sovraccarico di informazioni: Il motore di ricerca ritorna una lista troppo lunga di risultati Una soluzione è quella di raffinare la ricerca, aggiungendo parole chiave o utilizzando gli operatori booleani forniti dalle opzioni di ricerca avanzata del motore. Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.144
Operatori booleani Il matematico inglese George Boole (1815-1864) fondò un campo della matematica e della filosofia chiamato logica simbolica Il suo nome è rimasto legato ad un insieme di operatori che sono molto utili e spesso presenti nel campo dell informatica, che si chiamano operatori booleani Nell ambito dei motori di ricerca gli operatori booleani sono utili per definire operazioni di ricerca avanzate Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.145 Operatori booleani (cont.) Gli operatori booleani di base sono: AND OR NOT Essi vengono applicati a uno (nel caso del NOT) o a due (nel caso di AND e OR) argomenti e ritornano dei valori di verità (ERO o ALSO) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.146
Operatori booleani (cont.) Tabelle di verità X Y X and Y X Y X or Y X not X I valori di verità possono essere codificati con valori binari in modo molto semplice. Un associazione standard è: 1 0 Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.147 Operatori booleani: esempio X= Siamo a Modena Y= Questo è il corso di Laurea di Medicina X AND Y è falso X OR Y è vero Not X è falso, not Y è vero Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.148
Come scrivere una query La modalità di ricerca all interno del Web varia a seconda del motore di ricerca usato. Solitamente, le parole di una query vengono cercate all interno dei documenti in qualunque ordine e non necessariamente tutte insieme Inoltre esse vengono filtrate per eliminare parole poco significative (articoli), punteggiatura,... Questa operazione è detta stoplist removal Esse vengono anche filtrate per unificare le parole con radice comune (es. canto cantare cantante cantano canti...). Questa operazione è detta stemming Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.149 Come scrivere una query Gli indirizzi che vengono riportati corrispondono quindi a pagine che contengono: Tutte o alcune delle parole della query Parole simili a quelle della query (es. un altra voce dello stesso verbo) A volte, parole con significato correlato a quello delle parole della query Gli indirizzi vengono inoltre ordinati per rilevanza (i criteri di rilevanza variano da motore di ricerca a motore di ricerca) Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.150
Come scrivere una query Meglio una query con molte parole che una query meno specifica E possibile anche inserire come query una domanda vera e propria (grazie allo stoplist removal) Termini obbligatori: In alcuni casi si vuole essere sicuri che le parole scelte siano comprese nei testi trovati (tipo l AND logico) accio precedere ogni parola obbligatoria da un segno + Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.151 Come scrivere una query Esclusione di termini: Talvolta una stessa parola ha due significati diversi. Se vogliamo essere sicuri di ottenere solo risposte relative ad un significato possiamo escludere esplicitamente parole che ci ricondurrebbero all altro Esempio: se cerco informazioni relative al calcio (nel senso di materiale chimico) posso provare ad escludere i risultati relativi allo sport nel seguente modo: Calcio sport soccer pallone Anche se forse una ricerca del tipo Calcio chimica Potrebbe essere più efficace Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.152
Come scrivere una query Ricerca di frasi o di parole adiacenti: Racchiudo la frase tra virgolette Mi verranno restituiti solo i documenti in cui la frase compare in modo esatto (con le parole nell ordine in cui le ho scritte) Su Google e sui motori più avanzati è possibile raffinare la ricerca in base a: lingua del documento formato dei file determinati siti Web: es. "Ganimede site:nasa.gov" cercherà le informazioni su Ganimede presenti sul sito della NASA Posta Elettronica & Motori di ricerca Elementi di Informatica, 2005/2006 4.153