Uniform Resource Identifier

Da Wikipedia, l'enciclopedia libera.

La locuzione Uniform Resource Identifier (in acronimo URI) in informatica, si riferisce a una stringa che identifica univocamente una risorsa generica che può essere un indirizzo Web, un documento, un'immagine, un file, un servizio, un indirizzo di posta elettronica, ecc.

L'URL è un URI, o più comunemente chiamato indirizzo web.

Gli URI rendono disponibili le risorse secondo una varietà di protocolli quali HTTP, FTP, ecc.

Relazione fra URI, URL, URN e URM[modifica | modifica wikitesto]

Un URI può essere classificato come URL o come URN o anche URM

  • Un URL (Uniform Resource Locator) è un URI che, oltre a identificare una risorsa, fornisce mezzi per agire su di essa o per ottenere una rappresentazione della risorsa descrivendo il suo meccanismo di accesso primario o la sua "ubicazione" ("location") in una rete. Per esempio, l'URL http://www.wikipedia.org/ è un URI che identifica una risorsa (l'home page di Wikipedia) e lascia intendere che una rappresentazione di tale risorsa (il codice HTML della versione corrente di tale home page) è ottenibile via HTTP da un host di rete chiamato www.wikipedia.org.
  • Un URN (Uniform Resource Name) è un URI che identifica una risorsa mediante un "nome" in un particolare dominio di nomi ("namespace"). Un URN può essere usato per parlare di una risorsa senza lasciar intendere la sua ubicazione o come ottenerne una rappresentazione. Per esempio l'URN urn:isbn:0-395-36341-1 è un URI che consente di individuare univocamente un libro mediante il suo nome 0-395-36341-1 nel namespace dei codici ISBN, ma non suggerisce dove e come possiamo ottenere una copia di tale libro.
  • Un URM (Universal Register Machine) è un simulatore basato sulle specifiche dettate sul libro di Nigel Cutland, "Computability. An introduction to recursive function theory", che calcola in maniera deterministica una risorsa che rilascia in output in base a uno specifico input. Le operazioni possibili elementari sono: lo zero (identificato da Z), che azzera un registro di memoria, il trasferimento (identificato da T), che trasferisce da un registro di memoria a un altro, il successivo (identificato da S), che incrementa il valore del registro di memoria specificato, il jump (identificato da J), che permette di controllare l'uguaglianza tra due registri e nel caso verificato, saltare a una specifica istruzione del programma costituito.

Sintassi[modifica | modifica wikitesto]

Il formato segue schemi prefissati. Il registro ufficiale viene mantenuto presso la Internet Assigned Numbers Authority.

La sintassi di un URI dipende dallo schema. In generale, URI assoluti si scrivono come segue

<scheme>:<scheme-specific-part>

Un URI assoluto contiene il nome dello schema usato (<scheme>) seguito dai due punti (":") e quindi da una stringa (<scheme-specific-part>) la cui interpretazione dipende dallo schema.

La sintassi non prescrive che la componente scheme-specific-part abbia una struttura generale o una semantica comune a tutti gli URI.

Tuttavia, un sottoinsieme di URI condivide una sintassi comune per rappresentare relazioni gerarchiche nel namespace. Questa sintassi di "URI generico" consiste di una sequenza di 4 componenti:

<scheme>://<authority><path>?<query>

ognuna delle quali, tranne <scheme>, può anche non comparire in un determinato URI. Ad esempio, alcuni schemi di URI non ammettono una componente <authority> mentre altri non utilizzano la componente <query>.

Esempi di URI[modifica | modifica wikitesto]

  • ftp://ftp.is.co.za/rfc/rfc1808.txt -- schema per servizi FTP
  • http://www.math.uio.no/faq/compression-faq/part1.html -- schema per servizi HTTP
  • mailto:mduerst@ifi.unizh.ch -- schema per indirizzi di posta elettronica
  • news:comp.infosystems.www.servers.unix -- schema per newsgroup e articoli Usenet
  • telnet://melvyl.ucop.edu/ -- schema per servizi interattivi telnet
  • irc://irc.freenode.net/wikipedia-it -- schema per IRC
  • usb://Samsung/SCX-4x21%20Series?serial=8P36BADL316673B.&interface=1 -- Esempio di stampante in ambiente Linux
  • J(2,3,7) -- confronta tramite l'istruzione di jump se il registro 2 e il registro 3 hanno pari valore. Se si, allora la macchina URM salta all'istruzione 7.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Controllo di autorità LCCN: (ENsh2002000192
Internet Portale Internet: accedi alle voci di Wikipedia che trattano di internet