1. Accesso remoto TELNET. 4. World Wide Web HTTP

Documenti analoghi
1. Accesso remoto TELNET. 2. Trasferimento file FTP, NFS. 3. Posta elettronica SMTP, POP, IMAP, MIME. 4. World Wide Web HTTP

Protocolli applicativi: FTP

Distinzione fra Programma per interazione con l utente Es. Browser Protocollo per lo scambio di dati Es. HTTP (Hyper Text Transmission Protocol)

Posta Elettronica e Web

Introduzione. Java HTTP. G. Prencipe

Architettura dell Informazione

Progettazione Siti Web: Web

Protocolli di strato applicazione

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Ipertesto (testo + link a risorse)

Protocolli strato applicazione in Internet

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Prof. Roberto De Prisco. Applicazioni. Comer, Cap. 21,25-28,32. Università degli studi di Salerno Laurea e Diploma in Informatica.

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Parte II.4 World Wide Web

Programmazione in Rete

Architetture Web Protocolli di Comunicazione

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Programmazione in Rete

Applicazioni di rete 1

OSOR. Applicazioni di Rete

Architetture Applicative Il Web

Le Reti Informatiche

Parte II: Reti di calcolatori Lezione 8

Tito Flagella - Il protocollo HTTP

RETI DI CALCOLATORI Home Work ritardi e livello applicativo

Applicazioni e protocolli a livello applicazione

SMSPortal. SMS-Gateway interfaccia SMTP. Versione , 2005, 2006 SMSPortal. Digitel Mobile Srl Via Raffaello, Pescara (Italy)

Lo strato di applicazione in Internet

Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale

Elementi di Informatica e Programmazione

Fondamenti di Internet e Reti

Metodologie Informatiche Applicate al Turismo

Introduzione alla rete Internet

Parte II: Reti di calcolatori Lezione 7

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Web e HTTP. path name. host name Realizzato da Roberto Savino.

ATTIVAZIONE SERVIZIO NOTIFICHE SMS

Parte VIII Indice. Reti di calcolatori. Internet. topologie mezzi trasmissivi sistemi di trasmissione servizi sistemi client-server

FTP. Appunti di Sistemi A cura del prof. ing. Mario Catalano

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Livello applicazione: (RFC), protocollo FTP, protocollo Posta Elettronica

Introduzione alla rete Internet

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

Il Livello delle Applicazioni

Dal protocollo IP ai livelli superiori

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Reti di Calcolatori IL LIVELLO APPLICAZIONI: DNS, FTP

Introduzione alla rete Internet

Reti di Calcolatori:

Internet e Tecnologia Web

Modulo 1: Posta elettronica

Le Reti Informatiche

MODELLI ISO/OSI e TCP/IP

Fac-simile TVI Informatica Facoltà di Economia Università degli studi di Bergamo

Programmazione in Rete

CONFIGURAZIONE MICROSOFT OUTLOOK 2007

Architetture Applicative Il Web

Livello Applicazione. Davide Quaglia. Motivazione

SISTEMI OPERATIVI DISTRIBUITI

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete

D B M G Il linguaggio HTML

Reti di calcolatori. Reti di calcolatori

Appunti di Sistemi A cura del prof. ing. Mario Catalano. Internet e il Web

Telnet, FTP e NFS. Applicazioni. Protocolli Applicativi: Telnet. Il protocollo TELNET

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Stack protocolli TCP/IP

@2011 Politecnico di Torino 1

Reti di Calcolatori. Il Livello delle Applicazioni

INTERNET Ing. Giovanni Pozzi

MODELLI ISO/OSI e TCP/IP

World Wide Web. WWW e Tim Berners Lee

Prova di laboratorio di reti di calcolatori

INTERNET Ing. Giovanni Pozzi

Metodologie Informatiche Applicate al Turismo

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

Architetture di rete. 4. Le applicazioni di rete

Informatica e laboratorio

Parte II: Reti di calcolatori Lezione 9

Reti informatiche. 2. Internet e navigazione

WEBMAIL ODCECTA.IT. Guida all uso

1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Linguaggi di Programmazione

Sicurezza delle applicazioni web: protocollo HTTP

12.5 UDP (User Datagram Protocol)

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Capitolo 16 I servizi Internet

Guida alla Configurazione del Client di posta Microsoft XP Outlook 2006

Tecnologia dell Informazione

Metodologie Informatiche Applicate al Turismo

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio:

ALTRI TIPI DI CONNESSIONE

Internet e il World Wide Web

Il livello trasporto: Introduzione e protocollo UDP

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia

Transcript:

Applicazioni 10.2 Modello Client-Server 1. Accesso remoto TELNET Autunno 2002 Prof. Roberto De Prisco 2. Trasferimento file FTP, NFS -10: Applicazioni (Cap. 21,25-28) 3. Posta elettronica SMTP, POP, IMAP, MIME Università degli studi di Salerno Laurea e Diploma in Informatica 4. World Wide Web HTTP Modello client-server 10.3 Server e client 10.4 TCP/IP permette ai computer di Internet di comunicare Un server è un qualsiasi programma che offre un servizio accessibile su una rete Programmi applicativi sfruttano TCP/IP È sempre in esecuzione Interagiscono secondo il modello client-server Il server è un fornitore di servizi Accetta richieste, esegue ogni richiesta e spedisce il risultato al richiedente Il client è un utente dei servizi Client e server interagiscono Un client è un qualsiasi programma in esecuzione quando invia una richiesta ad un server e aspetta una risposta Server 10.5 Un esempio: server di echo 10.6 I server possono essere semplici o complessi Per i server più semplici Una richiesta arriva in un unico datagram IP La risposta viene rispedita al richiedente in un unico datagram IP Es. server dell echo Spedisce al client qualsiasi cosa il client invia nella richiesta Es. server dell orario Spedisce al client l ora locale Il server di echo È in esecuzione su una macchina con indirizzo I1 Riceve richieste sulla porta 7 (ben nota) Un client Gira su una macchina all indirizzo I2 Sceglie una porta locale non utilizzata, es. 13000 Apre una connessione TCP fra i punti (I1,13000) e (I2,7) Invia una richiesta al server contenente i dati Ciao Un server può essere molto complesso Server Web Il server Riceve la richiesta e rispedisce al client i dati Ciao Chiude la connessione TCP 1

Punti importanti 10.7 Complessità del server 10.8 Un server Inizia l esecuzione prima del client Continua ad accettare richieste senze smettere Tranne quando ci sono dei guasti Utilizza una porta ben nota per offrire il servizio Per i server standard ci sono delle porte riservate Un client Invia una richiesta e riceve una risposta Solitamente termina l esecuzione dopo aver usufruito del servizio Utilizza una porta arbitraria, inutilizzata e non riservata per servizi standard Alcuni server sono molto semplici Echo, ora locale, lista utenti collegati, citazione del giorno I server semplici funzionano nel seguente modo: 1. Il server aspetta una richiesta 2. Quando la richiesta arriva il server esegue le istruzioni necessarie a soddisfare la richiesta 3. Spedisce la risposta e riprende dal punto 1. Durante l esecuzione del punto 2, il server non può accettare altre richieste Un tale server è detto iterativo Server ricorsivo 10.9 Server ricorsivo 10.10 Un server iterativo va bene quando il lavoro da svolgere per ogni richiesta è minimo Altrimenti ci sarebbe troppo tempo in cui il server non accetta richieste Fatta eccezione per i casi più semplici, il server non può essere iterativo Server ricorsivo è sempre disponibile ad accettare richieste È simile a quello iterativo con la differenza che la richiesta viene soddisfatta da una copia del server Funziona nel seguente modo 1. Il server aspetta una richiesta 2. La richiesta arriva ed il server crea una copia di se stesso (fork) per gestire la richiesta 3. Ritorna al punto 1 La richiesta viene eseguita dalla copia del server Il tempo necessario per eseguire 2 è trascurabile, quindi il server è sempre in attesa di una richiesta Permette di gestire simultaneamente più client Accesso Remoto 10.11 TELNET 10.12 Un applicazione di accesso remoto consente ad un utente di operare su un computer remoto come se l utente fosse ad un terminale del computer remoto È un applicazione che implementa l accesso remoto (chiaramente sia il lato server che il lato client) Sul computer remoto deve essere in esecuzione un server che permette tale accesso Il client può connettersi al server Spedisce tutto ciò che l utente digita sulla tastiera al server Il server interpreta i tasti sul computer remoto, esegue le istruzioni e spedisce i risultati Il client visualizza i risultati sul computer locale 2

TELNET 10.13 Trasferimento file 10.14 È più complicato di quanto sembri Gestione dei caratteri di controllo Es. CTRL-C Normalmente termina il programma in esecuzione, in questo caso il client TELNET Non è l effetto desiderato Eterogeneità dei sistemi Il computer locale e quello remoto potrebbero avere sistemi operativi diversi Es. CR, LF e CR+LF ASCII a 7 bit e ASCII a 8 bit Controllo del terminale Molti sistemi di rete permettono l accesso a file su macchine remote Obiettivi Diminuire il costo generale delle macchine I file risiedono su un file server Le singole macchine non hanno bisogno di dischi (diskless) Archiviare i dati Il file server remoto viene usato solo per copie di backup Condividere i dati Un file server permette la condivisione dei dati Accesso Copia il file viene prima copiato e poi modificato localmente Trasparente (in linea) file modificato sul file server Accesso con copia 10.15 FTP (File Transfer Protocol) 10.16 Il file viene Prima copiato sul disco locale Poi modificato localmente Vantaggi Più facile da implementare Svantaggi Conversione del formato fra macchine diverse Le modifiche si applicano solo alle copie Può essere usato Da programmi In modo interattivo Supporta vari formati Binario, testo ASCII o EBCDIC Autenticazione Utente e password per accedere al file remoto Due connessioni TCP Trasferimento Client-server, FTP Server usa le porte ben note 21, per una connessione di controllo 20, per il trasferimento dei file Accesso trasparente 10.17 NFS (Network File System) 10.18 Il file remoto sembra un file locale Implementa l accesso trasparante Vantaggi È più facile da usare Dal punto di vista dell utente non c è differenza fra un file locale ed uno remoto Dal punto di vista dell utente è praticamente invisibile Utente Sistema Operativo Svantaggi È più difficile da implementare Gestire gli accessi contemporanei Collegare i nomi di file su sistemi diversi Se il file server non è disponibile (o lento) l utente non può procedere Applicazione Kernel File system locale NFS client Disco locale Connessione al server NFS 3

NFS e RPC 10.19 Esempio sessione FTP 10.20 NFS in realtà è costituito da 3 parti 1. Il protocollo stesso (NFS) 2. RPC (Remote Procedure Call) 3. XDR (external Data Representation) RPC e XDR sono strumenti utili anche ad altre applicazioni per sviluppare programma distribuiti RPC Permette di chiamare una procedura remota Il chiamante locale usa RPC, RPC prende gli argomenti della funzione, crea un messaggio e lo invia La procedura viene eseguita sulla macchina remota ed il risultato rispedito indietro XDR Rappresentazione dei dati indipendente dalla macchina Eg. Little endian vs. big endian prompt> ftp ftp.cs.purdue.edu Connected to lucan.cs.purdue.edu 220 lucan.cs.purdue.edu FTP server (Version wu-2.4.2-vr6 ready) Name (ftp.cs.purdue.edu:user): anonymous 331 Guest login ok, send email address as password Password: guest 230 Guest login ok, access restriction apply ftp> get pub/comer/tcpbook.tar bookfile 220 PORT command ready 150 Open ASCII mode data connection for tcpbook.tar (9895469 bytes). 226 Transfer complete 9895469 bytes received in 22.76 seconds (4.3e+02 Kbytes/s) ftp> close 221 goodbye ftp> quit Posta elettronica 10.21 Il modello di posta elettronica 10.22 email, electronic mail Non va più di modo scriverlo con il trattino (e-mail) Consente agli utenti di inviare messaggi Quando spediamo una lettera Non vogliamo aspettare che venga recapitata Semplicemente la mettiamo nella cassetta della posta Veloce, efficace, utile Ampiamente utilizzato Chi non ha un indirizzo email? Svantaggi Non è sicuro, i messaggi possono essere letti da altri Si può utilizzare la crittografia Quando il postino porta la lettera Se non siamo in casa non vuole aspettare La lascia nella cassetta della posta Per i messaggi elettronici valgono gli stessi principi Aree di spooling Concettualmente sono le cassette della posta, sia in entrata che in uscita spooling 10.23 Nomi e pseudonimi 10.24 Utente invia la posta Area di spool in uscita Client trasferimento in background Connessione TCP uscita Ogni utente di posta elettronica deve essere identificato Il nome di una macchina connessa alla rete Il nome di utente di posta elettronica su quella macchina pincopallino@libero.it Utente riceve la posta Interfaccia utente Area di spool in entrata Server per accettare la posta entrata Connessione TCP Pseudonimi I nomi utenti possono essere dei pseudonimi Vengono trasformati nei nomi reali dal programma che si occupa della spedizioni/ricezione Ovviamente il programma deve conoscere gli pseudonimi Mailing list studenti-rete@dia.unisa.it 4

spooling 10.25 TCP e gateway di posta 10.26 invio ricezione Interfaccia utente pseudonimi Area di spool in entrata Area di spool in uscita Client trasferimento in background Server per accettare la posta Un pseudonimo può Far creare delle copie del messaggio (mailing list) Smistare il messaggio da locale a remoto o viceversa uscita entrata Spedizione posta: punto-punto L host di partenza crea una connessione TCP con l host di arrivo Il messaggio viene trasferito Quando l host di arrivo ha una copia del messaggio, l host di partenza cancella la sua copia È necessario che le due macchine parlino TCP I computer connessi ad Internet parlano TCP A volte si usano dei gateway di posta Per avere la posta elettronica in aziende private non connesse ad Internet Spedizione avviene trami un intermediario (il gateway di posta) SMTP 10.27 SMTP un esempio 10.28 Simple Mail Transfer Protocol Un protocollo per il trasferimento di email Molto semplice La comunicazione tra client e server avviene per mezzo di testi ASCII (leggibili) Il cliente comunica il mittente, destinatario ed i dati Il server risponde con messaggi id Ok o di errore Es. utente sconosciuto Transazioni hanno il formato PAROLA CHIAVE trasazione HELO MAIL FROM: utente QUIT S: 220 posta.libero.it SMTP Ready C: HELO posta.dia.unisa.it S: 250 posta.libero.it C: MAIL FROM:<pincopallino@dia.unisa.it> S: 250 OK C: RCPT TO:<tiziocaio@libero.it> S: 250 Ok C: DATA S: 354 Start mail input; end with. on new line C: Ciao Tiziocaio, C: questo e un messaggio da pincopallino. C:. S: 250 Ok C: QUIT S: 221 posta.libero.it closing transmission channel POP 10.29 POP 10.30 SMTP implica che mittente e destinatario siano connessi alla rete Non funziona bene per utenti che si connettono temporaneamente Connessione da casa con jumpy, libero, tin Soluzione Ogni utente ha una casella postale su un computer con una connessione permanente Su tale computer gira un server SMTP Quando l utente si collega può prendere la posta Occorre un protocollo Post Office Protocol (POP) Versione corrente 3 (POP3) L utente attiva un client POP Crea una connessione TCP a un server POP Si autentica per mezzo di una password Recuperare i messaggi Sul server POP è attivo anche il server SMTP I due server devono coordinarsi per l accesso ai messaggi POP3 potrebbe cancellare messaggi SMTP scrive i messaggi in arrivo 5

IMAP 10.31 MIME 10.32 Internet Message Access Protocol Multipurpose Internet Mail Extensions È un alternativa a POP Non è un protocollo Versione corrente 4 (IMAP4) Molto simile a POP, funzionalità in più Si possono ottenere informazioni sui messaggi, esaminare i campi dell intestazione senza recuperare il messaggio Si può fare la ricerca di una stringa e recuperare solo parti specifiche di un messaggio È uno standard definito per spedire dai non ASCII attraverso la posta elettronica Un messaggio in formato MIME include delle informazioni aggiuntive che permettono Dividere il messaggio in parti Di includere degli allegati al messaggio Di specificare un particolare formato per ogni parte Codifica in formato ASCII di dati non ASCII MIME 10.33 MIME un esempio 10.34 MIME definisce sette tipi principali Text Image Audio Video Application Multipart Message Per ogni tipo è possibile specificare un sottotipo Il tipo Multipart permette di creare un messaggio a più parti From: pincopallino@jumpy.it To: tiziocaio@yahoo.com MIME-version: 1.0 Content-Type: Multipart/Mixed Boundary=NextPart --NextPart Ciao Tizio, ti mando una foto. Saluti da Pinco. --NextPart Content-Type: image/gif Content-Transfer-Encoding: base64 begin 644 Auyt&tuiytQ768quiyQuy8IUy98y1iujksiuq7(/O))8 World Wide Web (WWW) 10.35 Browser e Server Web 10.36 Una delle applicazioni di maggior successo Server Per molte persone WWW e Internet sono la stessa cosa Internet è la rete di computer mondiale, con dei protocolli di comunicazione Il Web è solo un applicazione È prassi comune dire Internet e intendere Web Successo È dovuto all utilizzo nel campo commerciale Le aziende possono fare pubblicità e vendere utilizzando il Web Richiesta pagina HTTP pagina <HTML> <HEAD> <Title>Titolo Pagina</Title> </HEAD> <BODY> Questa &egrave una pagina Web <IMG SRC= picture.gif > </BODY> </HTML> Browser 6

URL 10.37 HTML 10.38 Uniform Resource Locator Serve ad individuare esattamente una pagina Web HyperText Markup Language www.google.it http://www.dia.unisa.it/robdep È il linguaggio usato per scrivere le pagine Web [protocollo://] host [:porta] [path] [;parametri] [?query] Da una descrizione del contenuto della pagina Protocollo: HTTP (HTTPS, FTP, ) Host: nome del computer Porta: porta usata del server Web (default 80) Path: path del file sul server contenente la pagina Web Parametri: per fornire ulteriori informazioni Query: permette al browser di inviare fare delle domande Il browser interpreta tale descrizione e visualizza la pagina HTTP 10.39 La richiesta GET 10.40 HyperText Transfer Protocol È il protocollo usato per trasferire le pagine Web Livello applicativo: usato dalle applicazioni e presuppone una connessione TCP Richiesta/Risposta Senza stato: ogni transazione è a se stante Trasferimento bidirezionale Negozazione delle opzioni: browser e server possono concordare dettagli (es. insieme di caratteri) Supporto per la cache: browser memorizza le pagine scaricate precedentemente Supporto per proxy: ci possono essere dei computer intermediari fra il browser ed il server Nel caso più semplice il browser spedisce una richiesta GET con il nome della pagina GET http://www.repubblica.it/indice.html/ La richiesta specifica Che si vuole ottenere la pagina (GET) La locazione (URL) della pagina HTTP/1.1 Una volta aperta la connessione non serve spedire l host, basta il path La versione del protcollo HTTP da usare Il server risponde con la pagina richiesta Messaggi di errore 10.41 HTTP 10.42 Se il serve non capisce la richiesta del browser deve inviare un messaggio di errore Poiché i browser si aspettano una pagina Web, in caso di errore, il server risponde con una pagina Web che visualizza un messaggio di errore Ovviamente viene spedito anche il codice HTTP che specifica l errore 400 BAD REQUEST 404 FILE NOT FOUND Il formato è simile a quello di MIME C è un intestazione con varie opzioni Ogni riga contiene una parola chiave seguita dalle informazioni Dopo l intestazione c è una riga vuota e quindi i dati Content-Length: 33 Content-Language: en Content-Encoding: ascii <HTML> Un esempio banale. </HTML> 7

La negoziazione 10.43 Richieste condizionali 10.44 L interstazione permette anche di concordare le opzioni guidate dal server Il browser spedisce una lista di preferenze, il server ne sceglie una da usare guidate dal browser Il browser chiede al server le opzioni disponibnili, il server invia la lista, il browser sceglie Per motivi di efficienza HTTP consente di spedire richieste condizionali Se il file richiesto non è stato modificato dall ultima volta, allora non serve rispedirlo Il browser può visualizzare quello precedente La seguente intestazione, inviata con una richiesta GET Accept: text/html, text/plain; q=0.5, text/x-dvi; q=0.8 Il browser preferisce Text/html, se non c è accetta text/x-dvi e se nemmeno questo c è accetta text/plain q è il livello di preferenza (se è omesso è 1) q=0 implica che l opzione non è accettabile If-Modified-Since: Sun, 11 August 2002, 14:19:01 GMT Fa sì che il server controlli la data di modifica del file Se è anteriore alla data specificata allora il file non verrà spedito Verrà spedito un messaggio che dice che la copia locale è aggiornata Server Proxy 10.45 Cache del browser e dei proxy 10.46 Forniscono una ottimizzazione del servizio Web Diminuisce il carico dei server Diminuisce il tempo di attesa Il proxy contiene copie delle pagine Web La prima volta che si accede ad una pagina Deve essere scaricata dal server e memorizzata dal browser, da un proxy o da entrambi Ad esempio un azienda può decidere di avere dei server proxy Le richieste di pagine Web verrano fatte ai proxy I proxy devono ottenere la pagine Web se non le hanno Contattano il server Web dell azienda Il traffico sul server Web diminuisce notevolmente Se la si mantiene in memoria, al prossimo accesso non servirà ricontattare il server La memoria utilizzata per tale memorizzazione è detta cache HTML include alcune intestazione per i proxy Max-Forwards: 1 limita i proxy ad uno solo Problema delle pagine obsolete Si possono impostare delle scadenza Si può usare l If-Modified-Since 8