WWW Introduzione agli URI Fabio Vitali. WWW A seguire: URI2/29 Introduzione Qui esaminiamo: u Gli Universal Resource Identifier (URI) u Alcuni esempi.

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Corso di Fondamenti di Informatica
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Connessione con MySQL.
IL NOSTRO LABORATORIO Di INFORMATICA. Presentazione Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
ING. CARLO MANFUCCI COMUNE DI GROSSETO
DNS: Il Servizio Directory di Internet
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
WWW Link in XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XLink.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
File.
Architettura del World Wide Web
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Il protocollo ftp.
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
RETI E INTERNET.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Corso di PHP.
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
RAPPRESENTAZIONE DELL'INFORMAZIONE
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
Guida IIS 6 A cura di Nicola Del Re.
Cos’è Internet Una rete globale di reti basata sul protocollo TCP/IP.
Internet L’essenziale.
HTML Lezione 5 Immagini. URL Un Uniform Resource Locator o URL (Localizzatore di risorsa uniforme) è una sequenza di caratteri che identifica univocamente.
Progettare un database
Il modello di riferimento OSI
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Servizi di sistema e porti Ing. A. Stile – Ing. L. Marchesano – 1/20.
Il Sistema Operativo: il File System
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Creare pagine web Xhtlm. Struttura di una pagina.
Gianpaolo Cecere Introduzione
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
Amministrazione della rete: web server Apache
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
L’architettura a strati
Internet: una panoramica
FTP File Transfer Protocol
Lezione 3 Struttura lessicale del linguaggio
Creato da Riccardo Nuzzone
WWW Link in XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XLink.
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Media, multimedia Col termine latino ‘medium’ – plurale ‘media’ – si intendono la modalità e la tecnologia impiegate per comunicare messaggi: stampa, televisione,
URI e HTTP Fabio Vitali.
WWW Introduzione al WWW Fabio Vitali Università di Bologna.
INTRODUZIONE A INTERNET
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 1 – Nomi e indirizzi.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
WWW Introduzione agli URI Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Gli Universal Resource Identifier (URI)
Sistemi e Tecnologie della Comunicazione
Le basi di dati.
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
Transcript della presentazione:

WWW Introduzione agli URI Fabio Vitali

WWW A seguire: URI2/29 Introduzione Qui esaminiamo: u Gli Universal Resource Identifier (URI) u Alcuni esempi di schemi u Il problema degli URN (che verrà approfondito in una ulteriore lezione)

WWW A seguire: Lesigenza di identificatori (1)3/29 URI n Gli URI (Universal Resource Identifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. n Questi oggetti sono considerati accessibili tramite lutilizzo di protocolli esistenti, inventati appositamente, o ancora da inventare. n Gli URI si orientano a risolvere il problema di creare un meccanismo ed una sintassi di accesso unificata alle risorse di dati disponibili via rete. n Tutte le istruzioni daccesso ai vari specifici oggetti disponibili secondo un dato protocollo sono codificate come una stringa di indirizzo

WWW A seguire: Lesigenza di identificatori (2)4/29 Lesigenza di identificatori (1) Gli URI sono stati verosimilmente il fattore determinante per il successo del WWW. Attraverso gli URI, il WWW è stato in grado di identificare risorse accessibili tramite il proprio protocollo, HTTP, e tramite tutti gli altri protocolli esistenti (FTP, Telnet, Gopher, WAIS, ecc.). Il punto principale a cui gli altri sistemi non erano arrivati era una sintassi universale, indipendente dal protocollo e facilmente memorizzabile o scambiabile con cui identificare le risorse di rete.

WWW A seguire: Lesigenza di identificatori (3)5/29 Lesigenza di identificatori (2) Il WWW utilizza gli identificatori in una varietà di modi: u Immagini ed altri oggetti inclusi nel documento HTML (che è un formato solo testo); Connessioni e relazioni globali tra documenti (ad esempio, script e link possono essere messi esternamente al documento HTML e da esso riferiti globalmente. u Link ipertestuali disponibili nel documenti HTML u Identificatori di namespace per documenti XML; Identificatori di risorsa su cui esprimere meta-informazioni in RDF; identificatori di risorse di cui fornire firme crittografiche o valori hash. Nel primo caso, è importante che l'applicazione sia in grado di accedere ad una risorsa che è tipicamente nello stesso spazio di nomi della risorsa base; nel secondo caso, può essere in uno spazio di nomi diverso; nel terzo, interessa solo identificarla, non accedervi; tipicamente è in uno spazio di nomi diverso dalla risorsa base.

WWW A seguire: Gli URI6/29 Lesigenza di identificatori (3) Quindi due sono i fattori chiave nella valutazione della architettura degli URI: u Accessibilità: l'URI contiene informazioni su come fisicamente accedere alla risorsa indirizzata, che possa essere usata direttamente da un'applicazione (N.B.: NON sto dicendo che accessibile è meglio di non accessibile) u Controllo: l'estensore dell'URI ha il controllo sulla mappatura dall'URI alla risorsa (ad esempio, sulla posizione di memorizzazione della risorsa) e gli interessa che le cose vengano mantenute semplici e corrette Questi due fattori a loro volta comportano differenze in aspetti come permanenza e robustezza dell'URI, meccanismi di accesso alla risorsa, ecc.

WWW A seguire: Gli URI (2)7/29 Gli URI Gli Universal Resource Identifier (URI) sono, per definizione: u Universal Resource Locator (URL): una sintassi che contiene informazioni immediatamente utilizzabili per accedee alla risorsai (ad esempio, il suo indirizzo di rete) u Universal Resource Names (URN: una sintassi che permetta una etichettatura permanente e non ripudiabile della risorsa, indipendentemente dal riportare informazioni sull'accesso. URL URN URI

WWW A seguire: Gli URI (3)8/29 Gli URI (2) Nella visione classica, i due insiemi erano disgiunti: un URI era o un URL, che riportava informazioni sul protocollo, sul nome dell'host e sul nome locale della risorsa, oppure era un URN, che non riportava queste informazioni perché non persistenti. Nella visione moderna, la distinzione tra URL e URN è secondaria rispetto al concetto di schemi: ogni URI appartiene ad uno schema (la parte della stringa che precede i due punti. Alcuni schemi sono per natura persistenti, e possono essere usati per identificare in maniera non ripudiabile delle risorse; altri per natura contengono informazioni dirette per l'accesso, e allora possono essere considerati dei locatori. Ma le cose non si escludono, e in ogni caso dipendono dalla natura dello schema.

WWW A seguire: Il concetto di risorsa9/29 Gli URI (3) n Gli URL sono un indirizzo della risorsa che possa essere immediatamente utilizzato da un programma per accedere alla risorsa. n Gli URL contengono tutte le informazioni necessarie per accedere allinformazione, ma sono fragili a modifiche non sostanziali del meccanismo di accesso (es. cambio del nome di una directory). n Gli URN sono un nome stabile e definitivo di una risorsa, che possa fornire un informazione certa ed affidabile sulla sua esistenza ed accessibilità. n Gli URN debbono essere trasformati da un apposito servizio, negli URL attualmente associati alla risorsa. Inoltre la mappa deve essere aggiornata ogni volta che la risorsa viene spostata.

WWW A seguire: Criteri di design degli URI (1)10/29 Il concetto di risorsa Gli URI sono pensati per essere indipendenti dal meccanismo di memorizzazione effettiva sottostante. Anche se molti URI fanno riferimento a file memorizzati in un file system gerarchico, questo non è né necessario: u Potrebbe essere in un file system relazionale (VM di IBM) u Potrebbe essere in un database, e lURI essere la chiave di ricerca u Potrebbe essere il risultato dellelaborazione di unapplicazione, e lURI essere i parametri di elaborazione. u Potrebbe essere una risorsa non elettronica (un libro, una persona, un pezzo di produzione industriale), e l'URI essere il suo nome universale u Potrebbe essere un concetto astratto (la grammatica di un linguaggio) Per questo si usa il termine Risorsa, invece che File, e si fornisce una sintassi indipendente dal sistema effettivo di memorizzazione. Mai assumere che si stia lavorando con un file system!

WWW A seguire: La sintassi degli URI11/29 Criteri di design degli URI (1) La sintassi degli URI é progettata per essere u Estensibile: si possono aggiungere nuovi schemi, al fine di mantenere laccessibilità delle risorse anche se nuovi protocolli vengono inventati u Completa: tutti i nomi esistenti sono codificabili e nuovi protocolli sono comunque esprimibili tramite URI u Stampabile: é possibile esprimere URI con caratteri ASCII a 7-bit, così da permettere scambi lungo qualunque canale, per quanto limitato o inefficiente, inclusi carta e penna. Lo standard URI definisce alcune regole per la generazione di schemi di naming (insiemi di nomi caratterizzati dalla dipendenza da un protocollo di accesso comune), per la definizione dei caratteri accettabili e del carattere di escape.

WWW A seguire: Caratteri ammessi negli URI (1)12/29 La sintassi degli URI Un URI è diviso in due parti: u uri = schema : parte-specifica Lo schema di naming (in pratica, il protocollo) é identificato da una stringa arbitraria (ma registrata) usata come prefisso. Il carattere di due punti separa il prefisso dal resto. La decodifica del resto dellURI é funzione del prefisso. Ogni schema ha una sua sintassi, ma esistono delle regole che tutti gli schemi debbono rispettare.

WWW A seguire: Caratteri ammessi negli URI (2)13/29 Caratteri ammessi negli URI (1) I caratteri degli URI sono curi : unreserved | reserved | escaped I caratteri non riservati sono alfanumerici e alcuni caratteri di punteggiatura privi di ambiguità unreserved: uppercase | lowercase | digit | punctuation punctuation: -_.!~*'() I caratteri riservati sono caratteri che hanno delle funzioni particolari in uno o più schemi di URI. In questo caso vanno usati direttamente quando assolvono alle loro funzioni, e escaped quando sono invece parte della stringa identificativa naturale reserved:

WWW A seguire: Caratteri riservati negli URI (1)14/29 Caratteri ammessi negli URI (2) I caratteri escaped fanno riferimento alle seguenti tipologie di caratteri: u I caratteri non US-ASCII (cioè ISO Latin-1 > 127) u I caratteri di controllo: US-ASCII < 32 u I caratteri unwise: { } | \ ^ []` u I delimitatori: spazio<>#%" u I caratteri riservati quando usati in contesto diverso dal loro uso riservato In questo caso i caratteri vanno posti in maniera escaped, secondo la seguente sintassi: u escaped: %XX, dove XX è il codice esadecimale del carattere

WWW A seguire: Caratteri riservati negli URI (2)15/29 Caratteri riservati negli URI (1) %Il carattere % é il codice di escape, e serve per lutilizzo di caratteri particolari nellURI, precedendone il codice esadecimale. Ad esempio, per utilizzare un carattere % nelURI bisogna usare la stringa %25 /Il carattere / é utilizzato unicamente per lidentificazione di sottoparti di uno schema gerarchico, e non può essere usato per altri scopi..Il punto singolo. o il punto punto.. hanno anchessi un significato gerarchico riservato, per indicare ovviamente risorse allo stesso livello o al livello superiore.

WWW A seguire: Caratteri riservati negli URI (3)16/29 Caratteri riservati negli URI (2) #Il carattere di hash # serve per delimitare lURI di un oggetto da un identificatore di un frammento interno alla risorsa considerata. Questo permette ad un URI di far riferimento non soltanto ad una risorsa (oggetto di interesse del server), ma anche a frammenti interni alla risorsa (che verranno identificati dal client). ?Il punto interrogativo ? serve per separare lURI di un oggetto su cui é possibile fare una query (un database, per esempio), dalla stringa usata per specificare la query. +Allinterno della query, il segno più + é usato al posto dello spazio (che non é mai usato per nessuna ragione).

WWW A seguire: Caratteri riservati negli URI (4)17/29 Caratteri riservati negli URI (3) *Lasterisco * ha un significato speciale allinterno di schemi specifici. !Analogamente il punto esclamativo ! ha un significato allinterno di uno schema. %XXCaratteri speciali o riservati o in generale non sicuri (es. quelli superiori al codice ASCII 127) possono essere specificati tramite codifica esadecimale introdotta dal carattere di escape.

WWW A seguire: Gli elementi di un URI18/29 Caratteri riservati negli URI (4) Esempio: i due URI u u non sono uguali, perché, benché il codice esadecimale corrisponda al carattere /, nel primo caso esso ha significato gerarchico, e nel secondo fa parte del nome dellultima sottoparte della gerarchia, c/d.

WWW A seguire: URI assoluti e relativi19/29 Gli elementi di un URI Gli URI hanno tipicamente la seguente forma: u : ? # Non sempre ci sono tutti (a parte schema): alcuni non hanno autorità (ad esempio, le news), altri non hanno la query, ecc. Alcuni URI hanno uno spazio di nomi gerarchico. In questo caso la parte autorità inizia con un "//", e la parte path contiene dei caratteri "/" a separare le varie parti del percorso gerarchico Se l'URI non è gerarchico, non c'è la sequenza "//" e il carattere "/" non può essere usato nella parte rimanente dell'URI. u :// [/ ](0-n)? #

WWW A seguire: Risolvere un URI relativo20/29 URI assoluti e relativi Un URI assoluto contiene tutte le parti predefinite dal suo schema, esplicitamente precisate. Un URI gerarchico può però anche essere relativo, ed in questo caso riportare solo una parte dell'URI assoluto corrispondente. Sicuramente manca la parte schema. Un URI relativo fa sempre riferimento ad un URI di base (ad esempio, l'URI assoluto del documento ospitante l'URI relativo) rispetto al quale fornire elementi di differenza.

WWW A seguire: Esempi di risoluzione21/29 Risolvere un URI relativo Risolvere un URI relativo significa identificare l'URI assoluto corrispondente sulla base dell'URI relativo stesso e dell'URI di base. Questo avviene come segue: u Se inizia con "#", è un frammento interno allo stesso documento di base u Se inizia con uno schema, è un URL assoluto u Se inizia con "/", allora è un path assoluto all'interno della stessa autorità del documento di base, e gli va applicata la stessa parte autorità. u Altrimenti, si estrae il path assoluto dell'URI di base, meno l'ultimo elemento, e si aggiunge in fondo l'URI relativo. u Si procede infine a semplificazioni per le sequenze: F "./" (stesso livello di gerarchia): viene cancellata F "../" (livello superiore di gerarchia): viene eliminato insieme all'elemento precedente. u Ciò che rimane (se rimane qualcosa) è l'URL assoluto risolto. Ogni ostacolo incontrato genera un errore.

WWW A seguire: HTTP e HTTPS22/29 Esempi di risoluzione Dato l'URI base: i seguenti URI relativi diventano: u g:hg:h u ghttp://a/b/c/g u./g u #s(current document)#s u g#s u. u./ u.. u../ u../g u../.. u../../ u../../ghttp://a/g

WWW A seguire: FTP23/29 HTTP e HTTPS I protocolli più usati nel WWW. HTTPS prevede una crittografazione in entrambi i sensi del contenuto del messaggio. Per il resto sono identici. La sintassi di questo schema è: dove: u host é lindirizzo TCP-IP o DNS, dellhost su cui si trova la risorsa u port é la porta a cui il server é in ascolto per le connessioni. Per default, la porta è 80 per HTTP e 443 per HTTPS. u path é un pathname gerarchico (per esempio, un filename parziale) per lidentificazione della risorsa u query é una frase che costituisce loggetto di una ricerca sulla risorsa specificata. u fragment é un identificativo di una sottoparte delloggetto. La definizione e il ritrovamento di queste sottoparti é a carico del client, e quindi la parte di fragment viene ignorata dal server, che restituisce lintero oggetto.

WWW A seguire: SMTP e Telnet24/29 FTP La sintassi della parte specifica è: dove: u User e password sono utente e password per laccesso ad un server FTP. La mancanza di user fa partire automaticamente una connessione anonima u Si tende a scoraggiare l'uso della password nell'URL, in quanto evidente situazione di scarsa sicurezza. Tuttavia lo schema lo prevede come parte facoltativa. u Host, port e path sono lindirizzo del server, la porta di connessione ed il nome del file delloggetto ricercato, come per HTTP. La porta di default è 21.

WWW A seguire: URN (1)25/29 SMTP e Telnet SMTP La sintassi della parte specifica è: dove F non esiste il prefisso // perché lo schema non è gerarchico F User e host sono i componenti dellindirizzo di del destinatario Telnet La sintassi della parte specifica è: telnet:host:port

WWW A seguire: URN (2)26/29 URN (1) Ci sono ancora problemi per il successo degli URN. Non esiste ancora nessun meccanismo di URN sufficientemente affermato. Gli scopi degli URN sono: u Ambito globale: non viene indicata una locazione, ed ha lo stesso significato da ovunque lo si usi u Unicità globale: non è possibile assegnare lo stesso URN a risorse diverse u Persistenza: Non esiste ragione per la sua cessata esistenza a parte la cancellazione della risorsa a cui fa riferimento. u Scalabilità: ogni risorsa sulla rete deve poter possedere per lungo tempo un URN

WWW A seguire: Conclusioni27/29 URN (2) u Estensibilità: nuove funzionalità emergeranno. E necessario che lo schema di URN permetta estensioni per coprire le esigenze delle nuove funzionalità. u Supporto per i meccanismi esistenti: esistono già dei meccanismi di naming globali: numeri ISBN per i libri, identificatori pubblici ISO per gli standard, codici UPC per i prodotti fisici. Lo schema di naming deve inglobare trasparentemente questi schemi di naming. u Risoluzione: deve esistere un meccanismo semplice per la mappatura di un URN nellURL più appropriato u Indipendenza: ogni suddivisione gerarchica dellautorità dei nomi deve essere autonoma (cioè gestisce in autonomia i nomi ad essa soggetti).

WWW A seguire: Riferimenti28/29 Conclusioni Qui abbiamo parlato di u La sintassi degli URI e degli URL u Il probema degli URN (da approfondire)

WWW Fine Presentazione Riferimenti Wildes WWW, capitolo 2 Altri testi: u RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L. Masinter. August u RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. June1999. u RFC 2717 Registration Procedures for URL Scheme Names. R. Petke, I. King. November u RFC 2718 Guidelines for new URL Schemes. L. Masinter, H. Alvestrand, D. Zigmond, R. Petke. November 1999 u RFC 3305 Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations. M. Mealling, Ed., R. Denenberg, Ed.. August 2002