Anteprima
Vedrai una selezione di 6 pagine su 21
Domande d'esame di Ingegneria di internet e del web Pag. 1 Domande d'esame di Ingegneria di internet e del web Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Domande d'esame di Ingegneria di internet e del web Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Domande d'esame di Ingegneria di internet e del web Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Domande d'esame di Ingegneria di internet e del web Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Domande d'esame di Ingegneria di internet e del web Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Il protocollo prevede messaggi di richiesta e di risposta, entrambi in formato ASCII. I messaggi

di richiesta vanno dal client al server e specificano l’operazione da effettuare sull’oggetto tramite

i metodi GET (con cui si richiede il contenuto dell’oggetto specificato nell’URL), POST (con cui

si inviano informazioni al server ad esempio i dati di un form), HEAD (analogo a GET, ma con

cui si richiede che nel messaggio di risposta non sia incluso l’oggetto stesso specificato

nell’URL, restituendo solo i campi dell’header – ad esempio per verificare la data dell’ultima

modifica del file).

Descrivere le caratteristiche principali del protocollo HTTP 1.1.

La principale caratteristica di HTTP 1.1 che lo differenzia dalla versione precedente 1.0 è la

modalità di connessione, che diventa persistente: per più richieste e risposte successive tra

stessi client e server viene usata sempre la stessa connessione TCP permanente, ed inoltre

questa connessione può essere usata non solo per la sola pagina web in questione, ma per

spedire più pagine web. Dunque, in HTTP 1.1:

1. il client inizializza la connessione TCP alla porta 80 verso il server.

2. Il server accetta la connessione TCP e notifica il client.

3. Il client invia il messaggio di richiesta HTTP sulla connessione TCP.

4. Il server riceve la richiesta e invia il messaggio di risposta.

Il client riceve il messaggio di risposta che contiene l’oggetto richiesto.

5.

6. Si ripetono i passi 3 e 4 fintanto che il client richiede nuovi oggetti.

7. Il server chiude la connessione TCP quando non viene usata per un intervallo di tempo

fissato. per l’invio di richieste

Nella versione 1.1 è introdotta anche la possibilità di sfruttare il pipelining

consecutive: a partire dalla seconda richiesta, il client può inviare un altro messaggio di richiesta

HTTP al server appena trova un riferimento a un altro oggetto all’interno della risposta.

Descrivere le differenze tra le versioni 1.0 e 1.1 del protocollo HTTP.

Le differenze tra le due versioni risiedono soprattutto nel fatto che HTTP 1.0 utilizza connessioni

non persistenti: per inviare ogni oggetto vi è la necessità di creare ogni volta una nuova

connessione TCP; invece, in HTTP 1.1 c’è l’utilizzo di connessioni persistenti, ovvero per più

richieste e risposte successive tra stessi client e server viene usata sempre la stessa

connessione TCP permanente, ed inoltre questa connessione può essere usata non solo per la

sola pagina web in questione, ma per spedire più pagine web.

Nella versione 1.1 è introdotta la possibilità di sfruttare il pipelining, ovvero la capacità di

effettuare richieste di oggetti una dopo l’altra senza aspettare le risposte alle richieste pendenti.

Inoltre, in HTTP 1.1 vengono aggiunti 2 metodi nei messaggi di richiesta al server: PUT, con cui

si richiede di caricare sul sito l’oggetto nel body all’URL indicato, e DELETE, con cui si richiede

di eliminare dal server l’oggetto specificato nell’URL. diminuzione dell’onere di lavoro sul web

Queste migliorie nella versione 1.1 comportano una

server e dei ritardi dovuti alla versione 1.0.

Illustrare come viene implementato il caching nelle applicazioni web.

Una web cache, nota anche come proxy server, è un’entità di rete che soddisfa le richieste

HTTP al posto del web server effettivo e serve per ridurre il traffico per una sottorete, diminuendo

i tempi di risposta per le richieste di pagine web. Il proxy ha perciò una propria memoria su disco

(una cache) in cui conserva le copie di oggetti recentemente richiesti.

Quando un browser deve richiedere una pagina web, invece di essere indirizzato verso il server,

inizializza una connessione con un proxy server, se è configurato in maniera tale da inviare le

server, e invia la richiesta per l’oggetto specificato. Il proxy

richieste HTTP verso il proxy

controlla nella propria memoria cache se l'oggetto è presente. Se sì, effettua una richiesta con

metodo conditional GET verso il server di origine, specificando la data alla quale è aggiornata

la copia. Se la copia è aggiornata, il proxy server inoltra l’oggetto richiesto al client. Altrimenti,

se non è presente o se la pagina web non è aggiornata, il proxy invia al server una richiesta

HTTP per l’oggetto. Una volta ricevuta la richiesta, il server invia l’oggetto al proxy tramite una

risposta HTTP. Quando il proxy riceve questo oggetto, ne salva una copia nella propria memoria

e invia una copia al browser.

In questi passaggi il proxy server svolge sia un ruolo server, quando comunica con il browser,

sia un ruolo client, quando contatta il server di origine.

Descrivere le caratteristiche principali della Posta Elettronica. Si illustrino i

protocolli di livello applicativo impiegati in tale applicazione.

L’applicazione di posta elettronica è un mezzo di comunicazione asincrono che consente lo

scambio di messaggi tra utenti. Gli attori di questo sistema sono gli user agent (client di posta),

i server di posta e il protocollo SMTP.

Il protocollo SMTP si occupa di trasferire i messaggi dal server del mittente a quello del

destinatario, utilizzando il protocollo TCP e la porta 25. Il trasferimento avviene in 3 fasi:

1. Handshaking: il server d’invio apre una connessione TCP verso il server di ricezione.

2. Trasferimento: invio delle mail destinate alle caselle di posta sul server di ricezione.

3. Chiusura: il server di invio chiude la connessione.

Per effettuare un trasferimento, l’host di invio usa il proprio user agent per comporre l’email e

inviarla; quest’ultimo la invierà al proprio mail server, utilizzando SMTP o HTTP, mettendo il

messaggio in coda. Il mail server sfrutterà il protocollo SMTP per il trasferimento. Il mail server

di ricezione riceve l’email e la trasferisce nella casella di posta dell’utente destinatario, che poi

In particolare, l’user agent del destinatario utilizza

leggerà il messaggio quando sarà connesso.

l’email dalla casella di posta.

MAP o HTTP per recuperare

Un messaggio di posta è formato da un’intestazione con delle righe fondamentali (from:, to:..)

separata da uno spazio dall’area riservata al corpo del messaggio, a cui segue un messaggio

di terminazione (che consiste in una riga in cui è incluso unicamente un punto).

Per la ricezione tramite user agent di messaggi posizionati nel mail server del destinatario si

usano diversi protocolli di accesso alla posta come POP3, IMAP, o HTTP stesso (tramite web

mail, ovvero caselle di posta aperte tramite un browser).

Il protocollo POP3 permette autenticazione e download delle mail. È stateless, dunque non

mantiene informazioni sulle sessioni precedenti. Consiste in 3 fasi, che si susseguono quando

lo user agent apre una connessione TCP verso il mail server sulla porta 110:

• nell’autorizzazione il client invia username e password, e il server comunica l’esito del

tentativo di login;

• nella transazione lo user agent recupera i messaggi; inoltre può marcare/smarcare i

messaggi per la cancellazione dal server;

• nell’aggiornamento si conclude la sessione dopo aver ricevuto il comando quit, facendo

il logout dal mail server.

Un server IMAP associa ad ogni messaggio ricevuto dal server una cartella (ad esempio i

messaggi in arrivo nella cartella INBOX). Consente la creazione di cartelle e lo spostamento di

messaggi in esse. Conserva info di stato tra sessioni diverse (nomi di cartelle e spostamento di

messaggi in esse). Inoltre, consente di ricevere parte di un messaggio, utile con connessioni a

velocità ridotte.

Descrivere il funzionamento del DNS. Illustrare la differenza tra query DNS

iterative e ricorsive.

Il protocollo DNS definisce le regole per mappare nomi di host in indirizzi IP. DNS è (1) un

database distribuito implementato in una gerarchia di DNS server e (2) un protocollo a livello di

applicazione che consente agli host di interrogare il database. Oltre alla traduzione di hostname

in indirizzi IP, DNS offre le funzionalità di:

• Host aliasing: un host dal nome complicato (hostname canonico) può avere uno o piu

sinonimi (alias).

• Mail server aliasing: permette di avere degli alias per gli hostname canonici di server di

posta elettronica.

• Distribuzione del carico di rete (load distribution). I siti con molto traffico vengono

replicati su più server, ognuno eseguito su un host diverso con un indirizzo IP differente.

In base al carico dei server fisici, la rotazione DNS distribuisce il traffico sui server

replicati.

La traduzione da hostname a indirizzo IP avviene nel seguente modo:

il browser estrae il nome dell’host dall’URL e lo passa al lato client del DNS che viene

1. eseguito sulla macchina dell’utente;

il client DNS invia una query contenente l’hostname all’interno di

2. a un DNS server,

datagrammi UDP diretti alla porta 53;

prima o poi il DNS client riceve una risposta contenente l’indirizzo IP corrispondente

3. all’hostname, che viene infine passato all’applicazione che ne ha fatto richiesta.

Per affrontare il problema della scalabilità, il DNS utilizza una struttura di server gerarchica e

distribuiti nel mondo:

▪ root server, al livello più alto, che forniscono gli indirizzi IP ai server TLD;

▪ top-level domain server, che si occupano dei domini di primo livello quali com, org, net,

edu e gov, e di tutti i domini di primo livello relativi ai vari paesi. Forniscono gli indirizzi IP

ai server autoritativi;

▪ server autoritativi, che ospitano i record DNS che associano i nomi degli host

pubblicamente accessibili tramite Internet (web/mail server) a indirizzi IP.

Esiste anche un altro tipo di DNS, il DNS server locale. Esso è operativo quando un host si

connette a un ISP, ricevendo l'indirizzo IP di uno o più DNS server locali. Quando un host

effettua una richiesta DNS, questa viene inviata al server locale che fa da proxy e inoltra la query

alla gerarchia dei DNS detta in precedenza.

Con una query iterativa il client inoltra una richiesta a un DNS server per tradurre l’hostname

nell’indirizzo IP corrispondente. Se il server non può effettuare la traduzione, gli fornisce il nome

del DNS server che secondo lui può effettuare la traduzione. Successivamente il client ripete la

procedura rivolgendosi al DNS server che gli è stato fornito, ed il processo continua fino a che

non viene risolta la traduzione. Con una query ricorsiva il client inoltra una richiesta a un DNS

server per la traduzione il quale, se questo non può fornire una risposta, interrogherà altri DNS

server finchè non trova la risposta desiderata.

DNS utilizza il caching per migliorare le prestazioni. Il DNS server che riceve una risposta DNS

può mettere in cache le informazioni contenute. Se una coppia hostname/indirizzo IP è nella

cache di un server, quando gli arriverà una richiesta per lo stesso hostname, il DNS server potrà

fornire l’indirizzo IP desiderato, anche se non è autoritativo per tale indirizzo.

Capitolo 3

Descrivere come viene effettuato il demultiplexing in TCP e UDP.

Multiplexing e demultiplexing sono le operazioni con cui si gestisce la conversione tra messaggi

e segmenti e la consegna dei messaggi ai socket del sistema. Il compito del demultiplexing,

effettuato dal destinatario, è quello di trasportare i dati dei segmenti, ricevuti dal livello di rete, a

livello di trasporto verso la giusta socket.

Per realizzare il demultiplexing, ogni socket nell’host deve avere un numero di porta, e quando

un segmento arriva all’host, il livello di trasporto esamina il numero della porta di destinazione,

e dirige il segmento verso la socket corrispondente. I dati del segmento passano, quindi, dalla

socket al processo assegnato.

un segmento arriva all’host, il suo livello di trasporto esamina il numero di porta

UDP: quando

di destinazione del segmento e lo consegna alla relativa socket. In UDP, la socket è infatti

identificata da una coppia [indirizzo IP, porta di destinazione].

Se due segmenti UDP hanno indirizzi IP e/o numeri di porta di origine diversi ma indirizzo IP e

Dettagli
Publisher
A.A. 2022-2023
21 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher copf.daraio di informazioni apprese con la frequenza delle lezioni di Ingegneria di internet e del web e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Lo Presti Francesco.