Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP...

36
Reti di Calcolatori Application

Transcript of Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP...

Page 1: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

Reti di Calcolatori

Application

Page 2: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

2

Dove siamo?

Page 3: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

3

Applicazioni che utilizzano i servizi di rete

host

LAN

Porte TCP o UDP

Livello applicativo

Page 4: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

4

• Programmi applicativi e servizi usati dagli utenti della rete

• Spesso basati sul modello client-server

DNS (Domain Name System) Risoluzione dei nomi degli host SMTP (Simple Mail Transfer Protocol) e email sendmail o postfix POP3 (Post Office Protocol) e IMAP (Interactive Mail Access Protocol) Accesso remoto alle caselle di posta elettronica FTP (File Transfer Protocol) Trasferimento file remoti SNMP (Simple Network Management Protocol) Gestione di apparati di rete HTTP (HyperText Transfer Protocol) e il WWW Server web e browsers telnet, rlogin, rcp,ssh, sftp, nfs, lpd, ...

Applicazioni

Page 5: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

5

• E’ un database distribuito che permette di convertire i nomi simbolici degli host negli indirizzi IP numerici

E’ più facile ricordare (e dà più informazioni)

www.google.it

che

193.205.7.2

Per comunicare su rete serve l’indirizzo IP! Quando gli host sono pochi la tabella di conversione può essere memorizzata localmente ad ogni host (file /etc/hosts in Unix) Il DNS è distribuito: ogni sito mantiene il suo database relativo agli host locali eseguendo su una macchina il server DNS che può essere interrogato da altri sistemi su Internet

Domain Name System (DNS)

Page 6: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

6

• Quando un’applicazione deve convertire un nome di host nell’indirizzo IP o

viceversa, chiama una procedura resolver che contatta il DNS server del suo

dominio

• In Java la procedura è incapsulata nella classe InetAddress

• In C sono disponibili le chiamate di libreria gethostbyname e gethostbyaddr

• Occorre specificare l’indirizzo IP del DNS server (o Name Server) a cui il resolver

invia le sue interrogazioni (in Unix /etc/resolv.conf)

• Il protocollo di comunicazione fra resolver e Name server è del livello applicativo

ed è basato su scambio di pacchetti UDP (porta server 53) o TCP

• nslookup è un programma client che permette di esplorare la tabella del Name

Server

Il resolver

Page 7: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

7

• I nomi in Internet sono organizzati in modo gerarchico

arpa com edu gov int mil net org ae it zw biz

in-addr cisco w3c

www www

unisi

ing

www lucy

radice

domini generici

Emirati Arabi

Zimbabwe

domini degli stati

gestiti dal DNS server di ingeneria (193.205.7.2)

2.7.205.193.in-addr.arpa

Lo spazio dei nomi

Page 8: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

8

• I nomi dei componenti sono stringhe (case-insensitive) fino a 63 caratteri mentre il nome completo di un cammino non può superare 255 caratteri

• Un nome di dominio assoluto (fully qualified domain name - FQDN) termina con un punto (es. www.sun.com.)

• I nomi che non terminano con un punto sono relativi (es. sunto è relativo al dominio in cui si trova l’host ovvero ing.unisi.it)

• Ciascun dominio controlla l’allocazione dei suoi sottodomini

• I domini delle nazioni sono indicati con i codici previsti dallo standard ISO 3166

• arpa è un dominio speciale per le conversione indirizzo IP-nome nelle interrogazioni al Name Server

I domini

Page 9: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

9

• In genere non sono riferite ad una posizione geografica

• Sono in fase di attivazione nuovi domini generici (es. biz)

• Alcuni paesi inseriscono sottodomini equivalenti a quelli generici (es. .ac.uk e .co.uk

- istituzioni accademiche e commerciali del Regno Unito)

• Il NIC mantiene il primo livello; i sottolivelli (zone) sono gestiti localmente (gestione

DNS servers, assegnazione nomi, ecc.)

com organizzazioni commerciali edu istituzioni accademiche (università USA) gov organizzazioni governative USA int organizzazioni internazionali mil rete militare USA net fornitori di servizi di rete org organizzazioni no profit

I domini generici

Page 10: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

10

• Una zona è un sottoalbero del DNS amministrato separatamente

it

unisi

ing

www ftp ltt

pc1 pc2

lett 193.205.7.2

193.205.4.2 name server

name server

name server

Zone e Name server

Page 11: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

11

• Un Name Server ha autorità per una o più zone

• In una zona esiste un name server primario ma possono esistere anche name

servers secondari (per ridondanza)

• I name server secondari ottengono le informazioni dal name server primario (zone

transfer) interrogandolo periodicamente mentre i name server primari leggono le

loro informazioni da un file

• Quando si aggiunge un nuovo host nella zona si aggiunge una riga alla tabella

presente sul name server primario

• Il resolver chiede di risolvere il nome al name server locale

Il nome dell’host è locale -> viene restituito il record di autorità Il nome è relativo ad un host di un’altra zona -> interrogazione ricorsiva (a meno che non sia nella cache)

Name servers

Page 12: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

12

• Si propaga la richiesta al name server di livello superiore

altair.ing.unisi.it

www.unimi.it ?

ing.unisi.it unisi.it it unimi.it

? ? ? !!

La richiesta non si propaga ai livelli superiori se un name server ha la risposta nella cache Le risposte presenti nella cache non sono con autorità in quanto potrebbe esserci incoerenza con il vero valore I record sono inseriti nella cache con un time-to-live

Interrogazione ricorsiva

Page 13: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

13

• agenti utente

– programmi per leggere e gestire la posta e le mailboxes (es. eudora, netscape, outlook, pine, mail,....)

– Possono utilizzare protocolli per la gestione di mailboxes remote (pop3, imap).

• agenti di trasferimento di messaggi

– Gestiscono il trasferimento dei messaggi dalla sorgente alla destinazione e la ricezione dei messaggi sui server di posta

– Inviare un messaggio corrisponde a trasferire un file....

– Sono demoni di sistema che sono eseguiti in background e usano il protocollo SMTP per trasferire i messaggi sulla rete (es. sendmail, postfix, ..).

La posta elettronica

Page 14: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

14

mittente agente utente

coda della posta da spedire

agente di trasferimento

destinatario agente utente

mailboxes degli utenti

agente di trasferimento

connessione TCP

client

server

porta TCP 25

SMTP

MTA (Message Transfer Agent)

Trasferimento di mail

Page 15: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

15

• Server di riferimento per l’invio della posta

• Tutti i client inviano la posta al relay che la invia al destinatario – Semplifica la configurazione

– Sono sempre connessi (possono ritentare in caso di insuccesso)

relay MTA

local MTA

local MTA

local MTA

Internet

coda di posta

coda di posta

Agente utente

Relay Agents

Page 16: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

16

• Hanno il formato [email protected]

• Gli indirizzi sono risolti dal DNS che individua il server a cui inviare il

messaggio (eventualmente usa una richiesta MX)

• Il server di posta riceve i messaggi e li accoda nella mailbox

dell’utente

• La mailbox è un file di testo in una directory specifica nel server (es.

in Unix è normalmente /var/spool/mail/utente )

• L’utente può accedere alla posta localmente leggendo il file mailbox.

Il client per la lettura della posta provvede a individuare i singoli

messaggi nella mailbox

Indirizzi di posta elettronica

Page 17: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

17

• E’ definito in RFC 821 - RFC 822

campi di intestazione linea vuota corpo del messaggio

I campi di intestazione consistono in linee di testo ASCII contenenti il nome del

campo seguito dal carattere : e poi da un valore

L’agente utente costruisce il messaggio e lo passa all’agente di trasferimento

che utilizza alcuni campi dell’intestazione per l’invio

Formato dei messaggi

Page 18: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

18

Return-Path: <[email protected]>

Delivered-To: [email protected]

Received: from firewall.dii.unisi.it (firewall.dii.unisi.it [10.0.0.1])

by alpha.dii.unisi.it (Postfix) with ESMTP id B763218337

for <[email protected]>; Sat, 19 May 2001 03:02:57 +0200 (CEST)

Received: from sendmailout.computer.org (unknown [206.99.234.2])

by firewall.dii.unisi.it (Postfix) with ESMTP id 6A9053C0BC

for <[email protected]>; Sat, 19 May 2001 02:48:10 +0200 (CEST)

Received: from cray.computer.org ([63.84.223.121])

by sendmailout.computer.org (Build 101 8.9.3/NT-8.9.3) with ESMTP

id UAA01113; Fri, 18 May 2001 20:03:57 -0400

Subject: ICDAR'01: Your Author Kit

To: [email protected], [email protected]

Cc: [email protected], [email protected]

X-Mailer: Lotus Notes Release 5.0.4 June 8, 2000

Message-ID: <[email protected]>

From: [email protected]

Date: Fri, 18 May 2001 17:03:57 -0700

X-MIMETrack: Serialize by Router on Cray/IEEE Computer Society(Release

5.0.6a |January 17, 2001) at 05/18/2001 05:11:59 PM

MIME-Version: 1.0

Content-type: multipart/mixed;

Boundary="0__=88256A50008141558f9e8a93df938690918c88256A5000814155"

Content-Disposition: inline

Esempio di intestazione

Page 19: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

19

• Multipurpose Internet Mail Extensions (RFC 1521)

• Aggiunge dei campi di intestazione per definire la struttura del corpo del messaggio

(è gestita dall’agente utente)

Mime-Version:

Content-Type:

Content-Transfer-Encoding:

Content-ID:

Content-Description:

I tipi di contenuto sono organizzati in categorie predefinite es. text/plain, text/html, image/gif, multipart/mixed,

application/octet-stream, .....

MIME

Page 20: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

20

MIME-Version: 1.0

Content-type: multipart/mixed;

Boundary="0__=88256A50008141558f9e8a93df938690918c88256A5000814155"

Content-Disposition: inline

--0__=88256A50008141558f9e8a93df938690918c88256A5000814155

Content-type: text/plain; charset=Windows-1252

Content-transfer-encoding: quoted-printable

Dear Author:

Congratulations! We have been notified that your paper has been accepte=

d

--0__=88256A50008141558f9e8a93df938690918c88256A5000814155

Content-type: application/pdf;

name="=?Windows-1252?Q?icdar01=5Fcopyright=5Fform.pdf?="

Content-Disposition: attachment; filename="=?Windows-

1252?Q?icdar01=5Fcopyright=5Fform.pdf?="

Content-transfer-encoding: base64

JVBERi0xLjIgDSXi48/TDQogDTEwIDAgb2JqDTw8DS9MZW5ndGggMTEgMCBSDS9GaWx0ZXIgL0Zs

YXRlRGVjb2RlIA0+Pg1zdHJlYW0NCkiJrFfZctvIFf0C/UPXvESuUBAaO+YplEx5WDNjuSi6nFTp

Parte 1

Esempio MIME

Page 21: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

21

• Il protocollo SMTP definisce la sequenza di comandi (inviati in ASCII) necessaria per il trasferimento dei messaggi

• Insieme minimale di comandi usati dal client

HELO <host>

“Saluta” il server

MAIL From: <indirizzo>

indica il mittente del messaggio

RCPT To: <indirizzo>

Indica il destinatario (recipient)

DATA

Invio corpo del messaggio terminato da un . su una linea

QUIT

Chiude la connessione

“busta”

SMTP

Page 22: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

22

[email protected]... Connecting to alpha.dii.unisi.it. via relay...

220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake)

>>> EHLO ultra3.dii.unisi.it

250-alpha.dii.unisi.it

250-PIPELINING

250-SIZE 10240000

250-ETRN

250 8BITMIME

>>> MAIL From:<[email protected]> SIZE=20

250 Ok

>>> RCPT To:<[email protected]>

250 Ok

>>> DATA

354 End data with <CR><LF>.<CR><LF>

>>> .

250 Ok: queued as BE37A18337

[email protected]... Sent (Ok: queued as BE37A18337)

Closing connection to alpha.dii.unisi.it.

>>> QUIT

221 Bye

Extended SMTP

Esempio SMTP

Page 23: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

23

• Nato nel 1989 al CERN di Ginevra come mezzo per scambiare informazioni

• w3c - Consorzio World Wide Web (1994)

Standardizzazione dei protocolli su Web

Interoperabilità fra i siti

http://www.w3c.org

Il web è una collezione di documenti ipertestuali distribuita su server collegati alla rete Internet

La ragnatela (web) è un grafo i cui nodi sono i singoli documenti collegati fra loro da puntatori (hyperlink)

La maggior parte dei documenti su web è in formato HTML (HyperText Markup Language) ma si trovano anche altri formati (Macromedia Flash, pdf, postscript, ecc..)

Il WEB

Page 24: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

24

Internet

browser (client)

Web Server www.apache.org

HTTP HyperText Transfer Protocol

Connessione TCP

httpd

disco

hyperlink

Web servers

Page 25: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

25

• Ogni sito Web ha un processo server in ascolto su una porta TCP

• La porta standard è la numero 80

• HTTP definisce il protocollo di comunicazione fra il client e il server

E’ utilizzato per trasferire ogni tipo di risorsa (file) su WWW

Una risorsa è un’entità individuata da un URL (Uniform Resource Locator)

file di qualsiasi formato

prodotto dell’esecuzione di una interrogazione o di uno script

Utilizza un modello client-server

Il client HTTP apre la connessione e invia un messaggio di richiesta al server HTTP

Il server invia una risposta che in genere contiene la risorsa richiesta e poi chiude la connessione

Il protocollo è senza stato (non c’è memoria delle transazioni)

HTTP

Page 26: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

26

• I messaggi di richiesta e risposta hanno formato simile

Linea Iniziale (diversa per richiesta e risposta)

Header1: valore1

Header2: valore2

Header3: valore3

Corpo del messaggio (contenuto del file, risultato di

una interrogazione; può essere lungo molte linee e

essere binario)

Linea vuota!

L’intestazione è separata dal corpo da una linea vuota (CR LF)

Formato dei messaggi HTTP

Page 27: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

27

• La linea iniziale di una richiesta è formata da 3 parti

GET /index.html HTTP/1.1

Host: univac.dii.unisi.it

User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; m18) Gecko/20010131 Netscape6/6.01

Accept: */*

Accept-Language: en

Accept-Encoding: gzip,deflate,compress,identity

Keep-Alive: 300

Connection: keep-alive

Esempio di richiesta

Metodo

Percorso locale della risorsa richiesta

Versione di HTTP usata

Linea Iniziale

header

Richieste HTTP

Page 28: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

28

• I metodi definiscono le operazioni possibili su una risorsa

GET chiede il trasferimento di una risorsa. Se è seguita dall’intestazione If-Modified-Since il server invia i dati solo se sono stati modificati dopo la data specificata (gestione cache del browser)

HEAD Richiede solo le intestazioni relative alla risorsa. Serve per verificare le caratteristiche della risorsa senza trasferirla

POST Utilizzato per inviare dati da elaborare al server. L’intestazione è seguita da un corpo della richiesta che contiene i dati. Il tipo e la dimensione dei dati è indicata dagli header MIME Content-Type: e Content-Length:

Metodi HTTP

Page 29: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

29

• La linea iniziale di una risposta costituisce una linea di stato

HTTP/1.1 200 OK

Date: Wed, 06 Jun 2001 22:44:40 GMT

Server: Apache/1.3.20 (Win32)

Last-Modified: Wed, 06 Jun 2001 22:32:26 GMT

ETag: "0-64-3b1eaf7a"

Accept-Ranges: bytes

Content-Length: 100

Connection: close

Content-Type: text/html

<HTML>

<HEAD>

<TITLE>Prova</TITLE>

</HEAD>

<BODY>

<H2>File HTML di Prova</H1>

</BODY>

headers

risorsa

Linea vuota

Risposta HTTP

Page 30: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

30

• La linea di stato riporta un codice di stato e la sua “spiegazione”

HTTP/1.1 200 OK

I codici più comuni sono

200 OK

Richiesta con successo. La risorsa è nel corpo

della risposta

404 Not Found

La risorsa richiesta non esiste

301 Moved Permanently

302 Moved Temporarily

303 See Other (in HTTP 1.1)

La risorsa è stata spostata ad un altro URL

specificato nel campo Location: dell’intestazione.

Il client dovrebbe saltare a tale locazione

(redirect).

500 Server Error

Codici di stato

Page 31: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

31

• Seguono il formato specificato in RFC 822 anche per l’email

• HTTP 1.0 definisce 16 header (tutti opzionali)

• HTTP 1.1 definisce 46 header (obbligatorio Host:)

• Alcuni esempi....

User-Agent:

Identifica il programma client che effettua la

richiesta. Individua webots, spiders, ecc..

Server:

Identifica il server

Last-Modified:

Indica la data di modifica della risorsa. E’ usata

per gestire le cache

Content-Type:

Tipo MIME del corpo del messaggio

Content-Length:

Lunghezza in byte del corpo del messaggio

Intestazioni

Page 32: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

32

Internet

Web Server www.apache.org

httpd

disco

Proxy Server proxy

client configurato per usare

il proxy server

cache

• Un proxy HTTP agisce da intermediario fra il client e il server

Riceve le richieste dal client

Propaga la richiesta al server corretto

• Sono usati su LAN per caching o accesso ad Internet tramite firewall

httpd proxy

Proxy HTTP

Page 33: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

33

• Permette più transazioni su una stessa connessione persistente

Attivo di default. Si inviano le richieste in pipelining e si recuperano le risposte nello

stesso ordine

• Ha introdotto il supporto per le cache (If-Modified-Since:)

• Risposta più veloce per pagine generate dinamicamente utilizzando la codifica

chunked

Non si deve specificare la lunghezza del messaggio nell’intestazione

Il messaggio è scomposto in blocchi (chunks)

• Uso migliore degli indirizzi IP permettendo di ospitare più siti virtuali su uno stesso

server con un solo IP

Uso dell’intestazione Host: -> specifica il nome del sito a cui è indirizzata la richiesta

HTTP 1.1

Page 34: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

34

• Un server allo stesso indirizzo IP può gestire più domini

• Richiede alias nel DNS

httpd

disco

http://www.dii.unisi.it/

http://www.ing.unisi.it/

193.205.7.2

DNS Server

www.ing.unisi.it ?

www.dii.unisi.it ?

named (bind)

Multi-homed IP

Page 35: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

35

• Un URL (Uniform Resource Locator) individua univocamente una risorsa su web http://www.ing.unisi.it/general/people.html

• Al nome DNS possono essere aggiunte

la porta TCP (altrimenti si usa quella di default del protocollo)

una coppia username/password per accedere a risorse che richiedono autenticazione

http://johnm:[email protected]:8080/

protocollo (ftp, file,...)

nome DNS del server risorsa

porta TCP username:password

URL

Page 36: Application - unina.itwpage.unina.it/fpalmier/Reti/13_-_Application.pdf220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it

36

• E’ un linguaggio che usa annotazioni (markup) per definire la formattazione del

testo <B>scrittura in grassetto</B>

• Attualmente è alla versione 4.0 che ha standardizzato il concetto di fogli di stile

(Cascading Style Sheets - css)

• Una pagina prevede un’intestazione e un corpo compresi fra il tag <HTML> e

</HTML>

– <HEAD>...</HEAD> definiscono l’intestazione (titolo, stili, meta, ..)

– <BODY>...</BODY> definisce il corpo del documento

tag di apertura tag di chiusura

HTML (HyperText Markup Language)