Uniform Resource Identifier: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto"
 
(22 versioni intermedie di 17 utenti non mostrate)
Riga 1:
[[File:URI syntax diagram.svg|thumb|alt=Diagramma di sintassi URI. |Diagramma di sintassi di un URI.]]
In [[informatica]], lo '''Uniform Resource Identifier''' (in [[acronimo]] '''URI''') è una sequenza di [[carattere (informatica)|caratteri]] che identifica universalmente ed univocamente una risorsa. Sono esempi di URI: un indirizzo web ([[URL]]), un [[documento]], un'[[immagine]], un [[file]], un [[server|servizio]], un indirizzo di [[posta elettronica]], il codice [[ISBN]] di un libro, un numero di telefono, {{non chiaro|ma anche una [[fonte storica]] come un [[monumento]]|checol vuolprefisso dire?}}internazionale.
 
== Definizione ==
La RFC3986 definisce con precisione le tre parti dell'acronimo, e la loro finalità:
 
* '''Uniform''': consiste nella identità del contenuto al variare delle forme in cui è presentato. Ad esempio, un libro cartaceo o l'ebook corrispondente. Dà parecchi vantaggi: tipi diversi di identificatori di risorse possono essere usati nello stesso contesto, anche se i meccanismi usati per accedere a tali risorse possono essere diversi; è possibile usare il medesimo meccanismo di interpretazione semantica su tipi diversi di identificatori di risorse; è possibile aggiugereaggiungere nuovi tipi di risorse senza interferire con il modo in cui gli identificatori già esistenti sono usati; gli identificatori possono essere riutilizzati in diversi contesti, pertanto nuove applicazioni o protocolli possono usare gli identificatori già esistenti.
 
* '''Resource''': Una risorsa è tutto ciò che ha una identità. Non tutte le risorse tuttavia sono reperibili in rete: ad esempio un essere umano, un libro o un'azienda. Più precisamente, una risorsa è la mappatura concettuale di un'entità (o di un insieme di entità), e non è necessariamente legata all'entità in un determinato istante: infatti la risorsa può restare costante anche se le entità che la compongono cambiano nel corso del tempo, a patto che resti costante il legame concettuale (si pensi alla risorsa "Wikipedia": nonostante l'entità cambi nel tempo, poiché il contenuto del sito cambia, la risorsa che concettualmente identifica "Wikipedia" rimane la stessa).
Riga 12 ⟶ 13:
== Relazione fra URI, URL e URN ==
Un URI può essere classificato come qualcosa che definisce posizioni (URL) o nomi (URN) o entrambi.
* Un URL ([[Uniform Resource Locator]]) è un URI che identifica una risorsa tramite la sua "collocazione" ("___location") in un grafo, o su una {{chiarire|mappa continua}}. Di fatto, non identifica la risorsa per nome, ma con il modo con cui la si può reperire. Per esempio, l'URL http://www.example.com/ è un URI che identifica una risorsa (l'home page di un sito web) e lascia intendere che una rappresentazione di tale risorsa (il codice HTML della versione corrente di tale home page) è ottenibile via [[Hypertext Transfer Protocol|HTTP]] da un host di rete chiamato www.example.com.
* Un URN ([[Uniform Resource Name]]) è un URI che identifica una risorsa mediante un "nome" in un particolare dominio di nomi ("[[namespace]]"). Tale URN deve restare unico e persistente anche qualora la risorsa smetta di esistere o non sia più disponibile. Un URN può quindi essere usato per identificare una risorsa, senza lasciarne intendere l'ubicazione o come ottenerne una rappresentazione. Per esempio l'URN urn:isbn:0-395-36341-1 è un URI che mappa universalmente e univocamente un libro mediante il suo identificativo, o nome, (0-395-36341-1) nel namespace dei codici [[codice ISBN|codici ISBN]] (isbn), ma non suggerisce dove e come possiamo ottenere una copia di tale libro. Si noti che, da RFC8141, un URN è un URI assegnata sotto lo schema URI "urn".
 
== Sintassi ==
Riga 44 ⟶ 45:
* <code><nowiki>http://www.math.uio.no/faq/compression-faq/part1.html</nowiki></code>—schema per servizi [[Hypertext Transfer Protocol|HTTP]]
* <code><nowiki>file://C:/Folder1/SubFolder2/file%20text.txt</nowiki></code>—schema per un file nel [[file system]] locale
* <code><nowiki>mailto:mduersttizio@ifiexample.unizh.chorg</nowiki></code>—schema per indirizzi di [[posta elettronica]]
* <code><nowiki>news:comp.infosystems.www.servers.unix</nowiki></code>—schema per [[newsgroup]] e articoli [[Usenet]]
* <code><nowiki>telnet://melvyl.ucop.edu/</nowiki></code>—schema per servizi interattivi [[telnet]]
* <code><nowiki>irc://irc.freenode.net/wikipedia-it</nowiki></code>—schema per [[Internet Relay Chat|IRC]]
* <code><nowiki>spotify:artisttrack:6wWVKhxIU2cEi0K81v7HvP</nowiki>4cOdK2wGLETKBW3PvgPWqT</code>—schema per brani su [[Spotify]]
* <code><nowiki>usb://Samsung/SCX-4x21%20Series?serial=8P36BADL316673B.&interface=1</nowiki></code>—Esempio—esempio di stampante in ambiente [[Linux]]
* <code>data:text/html;charset=UTF-8,contenuto</code>—inserisce testo/html su [[browser]]
 
== Esempi di URN ==
Riga 60 ⟶ 62:
 
== Standard per la legislazione dell'Unione Europea ==
L’L{{'}}''European Legislation Identifier'' (ELI) è uno standard tecnico aperto, basato sul paradigma ''[[Resource Description Framework#Principi e modello dei dati|RDF]]'' per l'identificazione univoca dei contenuti a carattere legale ed il loro arricchimento mediante un insieme di metadati strutturati e personalizzabili, utili:
* alla [[preservazione digitale]] dei documenti nel lungo termine,
* all'accessibilità da parte degli agenti umani in modo efficiente ed efficace
Riga 81 ⟶ 83:
 
== Altri progetti ==
{{interprogetto|preposizione=sullo}}
 
== Collegamenti esterni ==
* {{cita web|url=https://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html|titolo= Content Negotiation (RFC 2616, HTTP/1.1)|lingua=en|accesso= 10 maggio 2018|sito= w3.org|citazonecitazione= Unfortunately for servers and caches, not all users have the same preferences for what is "best," and not all user agents are equally capable of rendering all entity types. For that reason, HTTP has provisions for several mechanisms for "content negotiation" -- the process of selecting the best representation for a given response when there are multiple representations available. }}
 
{{Web semantico}}