Stack protocolli TCP/IP



Похожие документы
Siti web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications)

Protocolli applicativi: FTP

OSOR. Applicazioni di Rete

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

Internet Architettura del www

Come funziona internet

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

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

Il Protocollo HTTP e la programmazione di estensioni Web

Le Reti Informatiche

Reti di Calcolatori. Il Livello delle Applicazioni

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

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

Protocollo HTTP. Alessandro Sorato

Reti di calcolatori. Reti di calcolatori

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Contenuti. Applicazioni di rete e protocolli applicativi

Reti di Telecomunicazione Lezione 6

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

appunti delle lezioni Architetture client/server: applicazioni client

HTML il linguaggio per creare le pagine per il web

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Architettura client-server

Siti interattivi e dinamici. in poche pagine

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Architetture Web Protocolli di Comunicazione

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

Protocolli e architetture per WIS

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

sito web sito Internet

Dal protocollo IP ai livelli superiori

Introduzione all elaborazione di database nel Web

Introduzione al Web. dott. Andrea Mazzini

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

19. LA PROGRAMMAZIONE LATO SERVER

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Informatica per la comunicazione" - lezione 9 -

Elementi di Informatica e Programmazione

Creare un Ipertesto. 1

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Livello cinque (Livello application)

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

ESERCITAZIONE Semplice creazione di un sito Internet

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Introduzione alla rete Internet

Corso Creare Siti WEB

EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Omeka PURL Plugin. Torino, 30 settembre Emilio Remogna

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

Introduzione alla rete Internet

TCP/IP: INDIRIZZI IP SIMBOLICI

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Introduzione alle applicazioni di rete

Corso di Informatica Modulo T3 B2 - Database in rete

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Programmazione dei socket con TCP #2

Implementazione di MVC. Gabriele Pellegrinetti

Reti di Telecomunicazione Lezione 8

Informatica per la comunicazione" - lezione 10 -

Client - Server. Client Web: il BROWSER

Concetti base. Impianti Informatici. Web application

prof. Mario Dalessandro

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

Introduzione alla rete Internet

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Indice PARTE PRIMA L INIZIO 1

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Introduzione a Internet e al World Wide Web

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

InterNet: rete di reti

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Lezione n 1! Introduzione"

Internet e posta elettronica. A cura di Massimiliano Buschi

Socket & RMI Ingegneria del Software - San Pietro

Транскрипт:

Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti applicazione di rete (es. il Web, la posta elettronica) e protocolli dello strato applicazione (es. http, smtp) Modello tipicamente implementato dalle applicazioni di rete: client / server Porta: (canale d accesso) indirizzo di un processo, numero a 16 bit (tra 1 e 65.535) utilizzato per identificare un particolare processo di rete (connessione) tra quelli attivi su un calcolatore. Socket di un processo: interfaccia tra il processo dell applicazione e il protocollo di trasporto Disegno socket 2 1

Il World Wide Web = Servizio per il trasferimento e la visualizzazione di file ipermediali (all inizio ipertestuali) Permette di trasferire documenti ipermediali (= composti di più file di tipo diverso: testo, immagini, ecc.) da un host a un altro e di interpretarli. Client = web browser, Server = web server Protocollo di comunicazione tra client e server: HTTP (HyperText Transfer Protocol). Linguaggio base dei documenti scambiati mediante HTTP: HTML 3 Il World Wide Web Tappe principali 1989 inizio progetto al CERN (Centro Europeo per la Ricerca Nucleare) guidato da Tim Berners Lee per condivisione report, fotografie, progetti e altri documenti 1991 prima dimostrazione alla conferenza sull ipertesto 1993 prima release di un browser con interfaccia grafica: Mosaic, realizzato da Marc Andressen, che fonda poi Netscape 1994 il CERN e il MIT di Boston costituiscono il W3C (World Wide Web Consortium) per guidare gli sviluppi del Web e per la standardizzazione dei protocolli 4 2

HTTP (HyperText Transfer Protocol) URL (Uniform Resource Locator), per identificare le risorse Porta standard 80 Protocollo ASCII, in chiaro Stateless (senza memoria di stato, non conserva le informazioni relative alle connessioni precedenti) Usa TCP per il trasporto HTTP/1.0: consente solo connessioni non persistenti HTTP/1.1: consente sia connessioni non persistenti sia persistenti 5 HTTP (HyperText Transfer Protocol) Modello Request/Response: Client: richiede connessione TCP al server Httpd Server: accetta la connessione Client: invia richiesta (client request) Server: invia risposta (server response) Client: interpreta il documento e lo visualizza; se HTTP/1.1, invia richieste di oggetti da caricare nella stessa connessione, se HTTP/1.0 chiude connessione e ripete i passi precedenti per tutti gli oggetti eventuali da caricare nel documento Server: chiude la connessione (se HTTP/1.0) o rimane in attesa (se HTTP/1.1) 6 Disegno request/response 3

HTTP (HyperText Transfer Protocol) Modello Request/Response Client request Solo la parte dopo il numero di pota GET POST HEAD PUT DELETE <method><url><http version> [<HEADER>:<value> ] CRLF.. [<HEADER>:<value> ] CRLF linea vuota CRLF [Entity Body] Es. CRLF Request line (= linea di caratteri) Request HEADER BODY CRLF = carriage return/line feed (ossia andare a capo ). GET /index.html HTTP/1.0 Host:www.di.unito.it Accept:text/html Accept :audio/x CRLF Request line Request HEADER (usato solo per inviare dati, es. form) 7 HTTP (HyperText Transfer Protocol) Modello Request/Response Server response <HTTP version> <result code>[<info>]crlf Response line (= linea di caratteri) [<HEADER>:<value> ] CRLF.. [<HEADER>:<value> ] CRLF lineavuota CRLF [Entity Body] Response HEADER BODY CRLF = carriage return/line feed (ossia andare a capo ). (presente se il result code classe 2xx) Perché la ver. del client era 1.0 Es. HTTP/1.1 200 OK Connection:close Content-Type:text/html Contenuto del file index.html inviato Request line Request HEADER Body 8 4

HTTP status codes 1xx: Informational - Not used 2xx: Success - action received, understood, accepted. 3xx: Redirection - Further action requested 4xx: Client Error - bad syntax 5xx: Server Error - server failed Status-Code = "200" ; OK "201" ; Created "202" ; Accepted "204" ; No Content "301" ; Moved Permanently "302" ; Moved Temporarily "304" ; Not Modified "400" ; Bad Request "401" ; Unauthorized "403" ; Forbidden "404" ; Not Found "500" ; Internal Server Error "501" ; Not Implemented "502" ; Bad Gateway "503" ; Service Unavailable 9 HTML È un applicazione dell SGML (Standard Gereralized Markup Language), creato per gli ipertesti e semplificato per il Web. Sono state definite versioni successive: 1.0 (1993): tag di base: html, head, body, formattazione, img, href: è un linguaggio monodirezionale, senza interazione pagine statiche 2.0 (1995): mappe cliccabili, form: queste ultime consentono di inviare dati a un programma che li elabora pagine dinamiche 10 5

HTML il metodo CGI Il metodo standard con il quale il client invoca l esecuzione di questo programma sul server e ottiene un output è detto CGI (common gateway interface). E ci si riferisce ai programmi come programmi CGI. Caratteristica dei programmi CGI è l essere parametrizzati da una stringa di valori ricevuti dal client I valori dell attributo method del tag form sono mappati sui metodi HTTP della request line I valori dei campi input, radio, textarea, ecc. vengono inviati come NAME=VALUE&NAME=VALUE, ecc. e inseriti: nel body della request (se il metodo è POST) nell URL della request line, preceduti da? (se è GET) 11 HTML il metodo CGI Web browser Web server Environmnet variables 1 Submit Submit 2 Post 3 4 creazione ambiente programma 5 CGI esecuzione 6 lettura ambiente invio file HTML 10 7 input 9 output standard standard 8 risorsa (Es. DBMS) 12 6

HTML 3.2 (1996): tabelle, fogli di stile, applet: Fogli di Stile = meccanismo per aggiungere lo stile (es. font, color, spacing) a documenti Web. Si tratta di regole, dichiarazioni che non sono annegate insieme al codice HTML ma sono tipicamente mantenute separate: In un file a parte All interno dell Head E possibile comunque anche scrivere queste dichiarazioni all interno dei Tag tradizionali, aggiungendo l attiributo style. 13 HTML APPLET = piccolo programma in java, il cui codice viene scaricato ed eseguito sul browser. A tal fine è stata introdotta la JVM: una macchina virtuale diversa per ogni SO (incorporata in modo nativo nei browser che supportano l html 3.2), che traduce il codice in istruzioni macchina secondo le specifiche del SO presente sul client. obiettivo: avere un meccanismo per ottenere indipendenza dalla piattaforma (sistema operativo). 14 7

HTML 4.0 (1997): frame, object, accessibilità, internazionalizzazione Object = sostituisce applet (più generale, con la possibilità di inserire oggetti multimediali, controlli ActiveX sulla macchina client, plug-ins, ecc. ) Accessibilità: Strumenti per l accesso universale (es. comandi vocali, ecc.) Internazionalizzazione. Nuovo set di caratteri; attributo LANG per specificare la lingua usata nel documento 15 8