Schema URI

In informatica , uno schema URI è il primo livello della struttura dei nomi URI ( Uniform Resource Identifier). Tutti gli URL sono costruiti da un nome schema, seguito da due punti (":") e quindi dall'URI, specifico dello schema. La sintassi e la semantica della parte specifica sono, per la maggior parte, lasciate alle specifiche dei diversi schemi.

Poiché la maggior parte degli schemi sono stati originariamente progettati per essere utilizzati con un protocollo , spesso vengono erroneamente denominati "protocolli" o "protocolli URI". Ad esempio, lo schema HTTP viene in genere utilizzato per fare riferimento a risorse Web che utilizzano il protocollo HTTP. Ora, gli URI di questo schema vengono utilizzati per altre applicazioni, come le risorse RDF (vedere Schema RDF ) o gli spazi dei nomi XML , che non sono correlati al protocollo. Inoltre, alcuni schemi non sono associati a nessun protocollo particolare (come lo schema del file ) e altri non usano un nome di protocollo come prefisso (come lo schema delle news per usenet ). Sebbene l'uso sembri aver accettato il termine schema, la parola piano, per piano URI, è una traduzione più adatta della parola inglese schema.

Gli schemi URI dovrebbero essere registrati presso la IANA , ma nella pratica vengono utilizzati schemi non registrati. L' RFC 4395 descrive la procedura per la registrazione di un nuovo schema URI.

Sintassi generica

Lo standard Internet STD 66 (vedere anche RFC 3986 ) definisce la sintassi comune utilizzata da tutti gli schemi URI. Ogni URI è composto da quattro parti:

<nom du schéma> : <partie hiérarchique> [ ? <requête> ] [ # <fragment> ]

Il nome del motivo è una lettera seguita da qualsiasi combinazione di lettere, numeri, segno più (+), punto (.) O trattino (-) e termina con due punti (:).

La parte gerarchica dell'URI è destinata a contenere le informazioni identificative della risorsa, di natura gerarchica. Di solito questa parte inizia con una doppia barra (//), seguita dal dominio e quindi da un percorso opzionale.

La richiesta è una parte facoltativa separata da un punto interrogativo che contiene informazioni aggiuntive non di natura gerarchica. Il formato della query non è definito in modo generale, ma è spesso formato da una serie di coppie <clef>=<valeur>separate da punto e virgola o da e commerciale.

Il frammento è una parte facoltativa separata da un segno cancelletto. Fornisce informazioni aggiuntive per accedere a una risorsa secondaria. Quando la risorsa è un documento HTML, il frammento è spesso idquello di un elemento e il browser farà ciò che è necessario per rendere visibile questo elemento.

Esempi

Di seguito sono riportati due esempi di URI e dei loro diversi componenti:

foo://username:[email protected]:8042/over/there/index.dtb?type=animal;name=ferret#nose \ / \________________/\_________/ \__/ \___/ \_/ \_____________________/ \__/ | | | | | | | | | utilisateur hôte port | | requête fragment | \_______________________________/ \_____________|____|/ schéma | | | | | domaine chemin | | | | | | chemin peut être interprété comme un nom de fichier | ___________|____________ | / \ / \ | urn:example:animal:ferrett:nose peut être interprété comme une extension

Schemi registrati con IANA

Diagramma Obbiettivo Definito da Formato Appunti
aaa Protocollo del diametro RFC 3588 aaa://<host>[:<port>][;transport=<transport>][;protocol=<protocol>]

esempio:
aaa://host.example.com:1813;transport=udp;protocol=radius

aaas Equivalente sicuro di aaa RFC 3588 aaas://<host>[:<port>][;transport=<transport>][;protocol=<protocol>]
un berretto Protocollo di accesso alla configurazione dell'applicazione  (en) RFC 2244 acap://[<user>[;AUTH=<type>]@]<host>[:<port>]/<entry> Schema URL utilizzato nel protocollo ACAP per l'attributo, i riferimenti e l'ereditarietà "subdataset".
mantello Protocollo di accesso al calendario RFC 4324 sintassi generica Schema utilizzato sia per indirizzare i depositi del calendario sia per i calendari accessibili tramite CAP.
cid Identifica le diverse parti di un messaggio SMTP / MIME . RFC 2392 cid:<content-id>
crid Identificatore di riferimento del contenuto TV-Anytime RFC 4078 crid://<host>/<data> Utilizzato per fare riferimento al contenuto pianificato per la trasmissione.
dati Includere piccole quantità di dati nell'URI stesso RFC 2397 data:<mediatype>[;base64],<data>
dav Estensioni HTTP per la creazione distribuita ( WebDAV ) RFC 2518 dav: Utilizzato solo per identificatori interni.
dict Protocollo di servizio del dizionario RFC 2229 dict://<user>;<auth>@<host>:<port>/d:<word>:<database>:<n>

dict://<user>;<auth>@<host>:<port>/m:<word>:<database>:<strat>:<n>

dns Domain Name System RFC 4501 dns:[//<host>[:<port>]/]<dnsname>[?<dnsquery>]

esempi:
dns:example?TYPE=A;CLASS=IN
dns://192.168.1.1/ftp.example.org?type=A

fax Utilizzato per i numeri di fax. RFC 2806 fax:<phonenumber> Deprecato da RFC 3966 . L'utilizzo dello schema telè ora consigliato per qualsiasi tipo di numero.
file Fa riferimento ai file a un file system locale o alla rete. RFC 1738
RFC 3986
file://[host]/path o

( RFC 3986 )file:[//host]/path

ftp Risorse FTP RFC 1738 sintassi generica
geo  (en) Coordinate geografiche ( GPS ) RFC 5870 geo:<lat>,<lon>[,<alt>][;u=<uncertainty>]
(vedi WGS 84 )
Altri sistemi di coordinate, inclusi quelli non terrestri ( Luna , Marte ...) esisteranno senza essere ancora referenziati.
partire Protocollo comune di risoluzione dei nomi RFC 3368 go://[<host>]?[<common-name>]*[;<attribute>=[<type>,]<value>] o
go:<common-name>*[;<attribute>=[<type>,]<value>]
gopher Utilizzato dal protocollo Gopher RFC 4266 gopher://<host>:<port>/<item type>/<path>
h323 H.323 RFC 3508 h323:[<user>@]<host>[:<port>][;<parameters>]
http Risorse HTTP RFC 2616 sintassi generica
https Connessioni http protette. RFC 2817 sintassi generica
icap Internet Content Adaptation Protocol RFC 3507
sono Protocollo di messaggistica istantanea RFC 3860 RFC 4622 im:<username>[@<host>]
imap Fornisce accesso alla posta elettronica tramite IMAP RFC 2192 imap://[<user>[;AUTH=<type>]@]<host>[:<port>]/<command>
info  (at) Risorse informative con identificatori negli spazi dei nomi pubblici RFC 4452
ipp Protocollo di stampa Internet RFC 3510
iris
iris.beep
iris.xpc
iris.xpcs
iris.lws
Servizio di informazioni sul registro di Internet RFC 3981 RFC 3983 RFC 4992 RFC 4992 RFC 4993
ldap richiesta LDAP RFC 2255
RFC 4516
ldap://[<host>[:<port>]][/<dn> [?[<attributes>][?[<scope>][?[<filter>][?<extensions>]]]]]

esempio:
ldap://ldap1.example.net:6666/o=University%20of%20Michigan, c=US??sub?(cn=Babs%20Jensen)

lsid LSID dtc / 04-10-08 URN:LSID:<Authority>:<Namespace>:<ObjectID>[:<Version>]

esempio:
urn:lsid:ubio.org:namebank:11815

mailto Indirizzi di posta elettronica SMTP e contenuto predefinito RFC 2368 mailto:<address>[?<header1>=<value1>[&<header2>=<value2>]]

esempio:
mailto:[email protected]?subject=A%20Test&body=My%20idea%20is%3A%20%0A

metà Fa riferimento a messaggi o parti di messaggi SMTP / MIME . RFC 2392 mid:<message-id>[/<content-id>] (Vedi anche cid :)
modem modem RFC 3966
msrp
msrps
Protocollo di inoltro della sessione dei messaggi RFC 4975
mtqp Message Tracking Query Protocol RFC 3887
mupdate Protocollo di aggiornamento delle cassette postali RFC 3656
notizia Usenet RFC 1738 news:<newsgroupname> o
news:<message-id>
nfs Risorse del file system di rete RFC 2224 sintassi generica
nntp Usenet NNTP RFC 1738 nntp://<host>:<port>/<newsgroup-name>/<article-number>
opaquelocktoken opaquelocktoken RFC 4918
pop Consente l'accesso a una casella di posta tramite POP3 RFC 2384 pop://[<user>[;AUTH=<auth>]@]<host>[:<port>]
vicino Utilizzato in CPP per identificare una presenza. RFC 3859 pres:<address>[?<header1>=<value1>[&<header2>=<value2>]]
prospero Prospero Directory Service RFC 4157
rtsp Protocollo di streaming in tempo reale RFC 2326
servizio RFC 2609
shttp HTTP protetto RFC 2660 Ampiamente sostituito da HTTPS .
sorso Utilizzato da SIP RFC 3969
RFC 3261
sip:<user>[:<password>]@<host>[:<port>][;<uri-parameters>][?<headers>]

esempi:
sip:[email protected]?subject=project%20x&priority=urgent
sip:+1-212-555-1212 :[email protected];user=phone

sips  (en) Versione sicura di sip RFC 3969
RFC 3261
sips:<user>[:<password>]@<host>[:<port>][;<uri-parameters>][?<headers>]
sms Utilizzato per inviare un SMS da un dispositivo compatibile RFC 5724 sms:<phonenumber>[,<phonenumber>]?body=<text>*[&<name>=<value>]

esempi:
sms:+33123456789,+33987654321
sms:+33123456789?body=hello%20vous

snmp Protocollo di gestione della rete semplice RFC 4088 snmp://[user@]host[:port][/[<context>[;<contextEngineID>]][/<oid>]]

esempi:
snmp://example.com//1.3.6.1.2.1.1.3+
snmp://[email protected]:8161/bridge1;800002b804616263

soap.beep
soap.beeps
RFC 3288
etichetta Tag URI RFC 4151 tag:<email/domainname>,<date>:<Item>
Telefono Utilizzato per i numeri di telefono RFC 3966
RFC 2806
tel:<phonenumber>
telnet Usato da telnet RFC 4248 telnet://<user>:<password>@<host>[:<port>/]
tftp Trivial File Transfer Protocol RFC 3617
questo messaggio Risoluzione del riferimento relativo multiparte / correlato RFC 2557
mancia Transazione protocollo Internet RFC 2371
tv Trasmissione televisiva RFC 2838
urna Nomi di risorse uniformi RFC 2141 urn:<namespace>:<specificpart>
vemmi V rsatile M ulti m edia I nterface RFC 2122
wais Usato da WAIS RFC 4156 wais://<host>:<port>/<database>[?<search>] o wais://<host>:<port>/<database>/<wtype>/<wpath>
xmlrpc.beep
xmlrpc.beep
RFC 3529
xmpp XMPP RFC 5122 xmpp:<user>@<host>[:<port>]/[<resource>][?<query>]
z39.50r Z39.50 RFC 2056 z39.50r://<host>[:<port>]/<database>?<docid>[;esn=<elementset>][;rs=<recordsyntax>]
z39.50s Sessione Z39.50 RFC 2056 z39.50s://<host>[:<port>]/[<database>][?<docid>][;esn=<elementset>][;rs=<recordsyntax>]

Schemi URI non ufficiali comunemente usati

Diagramma Obbiettivo Definito da Formato Appunti
di Visualizza le informazioni sul prodotto Bozza IETF Utilizzato dai browser web, a volte anche per fornire opzioni interattive. Il browser Opera utilizza opera:.
adiumxtra Installazione diretta dei plugin Adium. Il team di Adium adiumxtra://www.adiumxtras.com/download/0000 0000identifica un plugin specifico.
scopo Ti permette di controllare AOL Instant Messenger . AOL aim:<function>?<parameters> Le funzioni includono goim, addbuddye buddyicon.
apt Metodo sperimentale per installare il software tramite APT . apt:<package name> Utilizzato su siti che ospitano archivi software per Debian.
afp Fornisce accesso alle condivisioni del protocollo di archiviazione Apple Bozza IETF tramite TCP / IP: afp://[<user>@]<host>[:<port>][/[<path>]]

tramite AppleTalk: afp:/at/[<user>@]<host>[:<zone>][/]

aw Collegamenti a un mondo attivo Activeworlds Inc. aw://<worldserver host>:<worldserver port>/<worldname> Tipicamente trovato come referer quando un utente apre un sito da un mondo Active Worlds .
Bolo  (en) Partecipa a una partita di Bolo bolo://<hostname>/ Di solito trasmesso da IRC o da server di gioco.
chiama a Avvia una comunicazione Skype callto:<screenname>o
callto:<phonenumber> [1]
Originariamente apparso in NetMeeting . Funziona con le attuali versioni di Skype con Firefox , Internet Explorer e Safari
cromo Utilizzato dalle interfacce costruite con XUL . Mozilla chrome://<package>/<section>/<path>(Oppure <code> <section> </code> può essere " content", " skin" o " locale") Funziona solo nei browser basati su Mozilla, come Firefox , SeaMonkey e Netscape .
coap Accede alle risorse tramite CoAP ( Constrained Application Protocol ). Bozza IETF coap://<host>[:<port>]/<path>[?<query>] Identifica le risorse CoAP e aiuta a localizzarle.
contento Accedi a un fornitore di contenuti Android . Apri Handset Alliance content://provider/<path> Query su un provider di contenuti Android .
cvs Collegamento a un repository CVS . Sistema di versioni della concorrenza cvs://<method:logindetails>@<repository>/<modulepath>;[date=date to retrieve | tag=tag to retrieve]
doi Identificatore di oggetto digitale , un identificatore digitale per qualsiasi oggetto di proprietà intellettuale . La Fondazione Internazionale DOI doi:10.<publisher number>/<suffix>
Exemple : doi:10.1000/182
Usato ad esempio per la maggior parte delle pubblicazioni scientifiche.
Può essere risolto tramite HTTP (trasformato in un URL ) aggiungendo https://dx.doi.org/o http://hdl.handle.net/davanti.
ed2k  (en) Risorse disponibili utilizzando la rete eDonkey2000 eDonkey2000 ed2k://|file|<filename>|<size of file>|<hash of file>|/ o
ed2k://|server|<host>|<port>|/
Sono possibili anche collegamenti a server, così come parametri aggiuntivi. Documentazione ufficiale dal "sito web eDonkey2000" (su Internet Archive )
feed  (in) abbonamento al feed web feed:<absolute_uri> o
feed://<hierarchical part>

esempi:
feed://example.com/rss.xml
feed:https://example.com/rss.xml

Vedere Schema URI del feed  (en) per una panoramica dettagliata delle implementazioni comuni, del software supportato e dei critici.
dito Interrogazione delle informazioni sull'utente utilizzando il protocollo Finger Bozza IETF finger://host[:port][/<request>]
pesce Accesso ai file di un altro computer utilizzando il protocollo SSH fish KDE kioslave fish://[<username>[:<password>]@]<hostname>[:<port>] Vedere fingerFile trasferiti tramite il protocollo shell  (en) per i dettagli sul protocollo.
gg Chat Partendo Gadu-Gadu utente Gadu-Gadu gg:<userid>
gizmoproject Collegamento di chiamata Gizmo5 . gizmoproject://call?id=<gizmo_id> Può usare sip: // invece di gizmoproject: // nelle versioni recenti di Gizmo5.
gtalk Avvia una chat con un utente di Google Talk Google Talk gtalk:[email protected] Vedi Google Talk , XMPP e http://juberti.blogspot.com/2006/11/gtalk-uri.html per ulteriori informazioni
iax2 Protocollo Inter-Asterisk eXchange versione 2 Bozza IETF iax2:[<username>@]<host>[:<port>][/<number>[?<context>]]

esempi:
iax2:[2001:db8::1]:4569/alice?friends
iax2:[email protected]/12022561414

irc Connessione a un server Internet Relay Chat per entrare in un canale. Bozza IETF
Vecchia bozza IETF
irc://<host>[:<port>]/[<channel>[?<password>]] Supponendo che il client conosca un server associato al nome, "host" può opzionalmente essere un nome di rete IRC.
ircs Equivalente sicuro di irc Bozza IETF ircs://<host>[:<port>]/[<channel>[?<password>]] Vedi irc
irc6 Equivalente IPv6 di irc irc6://<host>[:<port>]/[<channel>[?<password>]] Vedi irc
itms Utilizzato per la connessione a iTunes Music Store la società Apple itms:
vaso Membro dell'archivio compresso API Java jar:<url>!/[<entry>] Funziona con qualsiasi file basato su ZIP .
javascript Esegui codice JavaScript Bozza IETF javascript:<javascript to execute> Funziona con qualsiasi browser moderno.
keyparc Keyparc crittografa / decrittografa risorsa. Bloombase  (en) keyparc://encrypt/<username>/<uri> o

keyparc://decrypt/<username>/<uri>

lastfm Collegamento a una radio in streaming da Last.fm . Last.fm lastfm://<radio_stream>o lastfm://globaltags/<genre>o
lastfm://user/<username>/<stuff>
ldaps Equivalente sicuro di ldap ldaps://[<host>[:<port>]][/<dn> [?[<attributes>][?[<scope>][?[<filter>][?<extensions>]]]]] Non è uno standard IETF, ma comunemente utilizzato nelle applicazioni.
Magnete "collegamenti magnetici" Progetto Magnet-URI magnet:?xt=urn:sha1:<hash of file>&dn=<display name>
( sono possibili anche altri parametri )
Utilizzato da vari client peer-to-peer , di solito fornendo l'hash di un file da trovare sulla rete.
mappe "link mappa" maps:q=<physical location> Alcuni browser Web mobili lanceranno un'applicazione di mappatura dedicata.
mms Media di streaming di Windows mms://<host>:<port>/<path> Utilizzato da Windows Media Player per lo streaming di audio e / o video.
msnim Aggiunta di un contatto o avvio di una conversazione in Windows Live Messenger Windows Live Messenger Aggiungi un contatto all'elenco degli amici

msnim:[email protected]
Avvia una conversazione con un contatto
msnim:[email protected]
Avvia una conversazione vocale con un contatto
msnim:[email protected]
Avvia una conversazione video con un contatto
msnim:[email protected]

Può essere richiamato da una pagina Web o tramite un comando di esecuzione o un URL del browser Internet Explorer (non funziona con Firefox 2.0.0.8). Per le pagine web usa questo HTML:<a href="[email protected]">Click to chat!</a>
mvn Accedi agli artefatti del repository Apache Maven OPS4J mvn:org.ops4j.pax.web.bundles/service/0.2.0-SNAPSHOT
mvn:http://user:[email protected]/maven2!org.ops4j.pax.web.bundles/service/0.2.0
Appunti Apri un documento o un database di Lotus Notes Lotus Notes notes://<address> Utilizzato da IBM Lotus Notes per fare riferimento a documenti e database archiviati nel sistema Lotus Notes. Quando si fa clic in un browser su un computer con il client Lotus Notes installato, Notes aprirà il collegamento al documento come se si facesse clic su un DocLink di Notes all'interno di Notes.
psych Utilizzato per identificare o localizzare una persona, un gruppo, un luogo o un servizio e specificarne la capacità di comunicare PSYC psyc:[//<host>[:[<port>][<transport>]]/[<object-name>][#<channel-name>] Documentazione ufficiale dal sito web di PSYC
paparazzi: http Utilizzato per avviare e acquisire automaticamente una schermata utilizzando l'applicazione "Paparazzi" ( solo Mac ) Deragliatore paparazzi:http:[//<host>[:[<port>][<transport>]]/ Documentazione ufficiale dal sito web di Paparazzi
rmi Cerca un oggetto Java in un registro RMI. Sole rmi://<host>[:<port>]/<object-name> Schema URI compreso da JNDI . Può essere utilizzato per cercare un oggetto Java remoto all'interno di un registro RMI (in genere ai fini dell'RMI su quell'oggetto). Host / porta nell'URI sono del processo rmiregistry , non dell'oggetto remoto.
rsync rsync rsync://<host>[:<port>]/<path>
seconda vita Apri il galleggiante della mappa nell'applicazione Second Life per teletrasportare il residente nella posizione. Linden Lab secondlife://<region name>/<x position>/<y position>/<z position> Utilizzato da SLurl.com . Articolo della Knowledge Base .
sgn Social Graph Node Mapper Google esempio:

sgn://social-network.example.com/?ident=bob

Documentazione ufficiale dal progetto sgnodemapper .
skype Avvio della chiamata Skype (ufficiale; vedi anche callto :) Skype skype:<username|phonenumber>[?[add|call|chat|sendfile|userinfo]] Documentazione ufficiale dal sito web di Skype .
sftp Trasferimenti di file SFTP (da non confondere con FTPS (FTP / SSL)) Bozza IETF sftp://[<user>[;fingerprint=<host-key fingerprint>]@]<host>[:<port>]/<path>/<file>
smb Accesso alle condivisioni SMB / CIFS Bozza IETF smb://[<user>@]<host>[:<port>][/[<path>]][?<param1>=<value1>[;<param2>=<value2>]] o
smb://[<user>@]<workgroup>[:<port>][/]
soldato Unirsi ai server Soldato soldat://<host>:<port>/[password]

esempio:
soldat://127.0.0.1:23073/thatssecret!

Nota ufficiale nel manuale
ssh Connessioni SSH (come telnet :) e Bozza IETF ssh://[<user>[;fingerprint=<host-key fingerprint>]@]<host>[:<port>]
vapore Interagisci con Steam: installa app, acquista giochi, esegui giochi,  ecc. Steam , Valve Corporation steam:<command line arguments> o
steam://<action>/<id, addon, IP, hostname, etc.>
Documentazione ufficiale dal sito Web della Valve Developer Community
svn Fornisce un collegamento a un repository di controllo del codice sorgente Subversion (SVN) Subversion (software) svn[+ssh]://<logindetails>@<repository><:port>/<modulepath>
teamspeak Unirsi a un server. TeamSpeak teamspeak://<server>[:<port>]/[?<parameter1>=<value1>[&<parameter2>=<value2>]] Documentazione ufficiale dal sito Web di TeamSpeak
irreale Unirsi ai server Irreale unreal://<server>[:<port>]/ "Protocollo" legacy irreale
ut2004 Unirsi ai server Unreal Tournament 2004 ut2004://<server>[:<port>][/<map>?<options>] Documentazione da Unreal Developer Network
ventrilo Unirsi a un server. Ventrilo ventrilo://<server>[:<port>]/[?<parameter1>=<value1>[&<parameter2>=<value2>]] Documentazione ufficiale dal sito web di Ventrilo
view-source  (en) Mostra una pagina web come codice "grezzo" . Mozilla , Google Chrome view-source:<URI>

esempio:
view-source:http://en.wikipedia.org/wiki/URI_scheme

Vedi view-source  (en) per i dettagli.
webcal Iscrizione ai calendari in formato iCalendar iCalendar webcal://<hierarchical part>

esempio:
webcal://example.com/calendar.ics

Si presume HTTP come protocollo di trasporto.
Vedi Webcal per i dettagli.
wtai Interfaccia dell'applicazione di telefonia wireless Forum WAP wtai://wp/mc/+18165551212 Vedere Application Protocol Wireless Application Environment Specification versione 1.1 [PDF] per i dettagli.
wyciwyg Quello che hai in cache è quello che ottieni WYCIWYG Mozilla wyciwyg://<URI> Vedi WYCIWYG per i dettagli.
xfire Aggiunta di amici e server, accesso a server, modifica del testo di stato. Xfire xfire:<function>[?<parameter1>=<value1>[&<parameter2>=<value2>]] Documentazione ufficiale dal sito web di Xfire
xri eXtensible Resource Identifier ( XRI ) Comitato tecnico OASIS XRI xri://<authority>[/[<path>]][?<query>][#fragment] Documentazione ufficiale del Comitato Tecnico OASIS XRI
ymsgr Invio di un messaggio istantaneo a Yahoo! Contatto. Yahoo! Messaggero ymsgr:sendIM?<screenname>

Riferimenti

  1. " Spiegazione francese  della RFC 3986 sugli URI  " , su www.bortzmeyer.org (accesso 6 dicembre 2017 )