URI
Por samtitola artikolo vidu la paĝon URI (apartigilo). |
URI signifas unuforma risurca identigilo (angle Uniform Resource Identifier). Ĝi estas sekvo de signoj identiganta abstraktan aŭ fizikan risurcon. Antaŭe ĝi estis nomata universala risurca identigilo (angle Universal Resource Identifier).
Bazoj
redaktiUnuforma risurca identigilo estas signoĉeno ebliganta identigi iun risurcon: dokumenton, bildon, dosieron, servon, retpoŝtan konton ktp. Ĉefe temas pri risurcoj de la Interreto kaj de la Tut-Tera Teksaĵo. URI provizas simplan kaj etendeblan manieron identigi risurcojn. La etendebleco de URI signifas ke jam ekzistas kelkaj identigaj skemoj ene de URI, kaj ankoraŭ multaj estos kreitaj.
Rilato inter URI, URL kaj URN
redaktiURI estas aŭ URL, aŭ URN, aŭ ambaŭ samtempe.
URL estas URI kiu, aldone al identigo de risurco, informas ankaŭ pri situo de tiu risurco. Kaj URN estas URI kiu nur identigas la risurcon en certa nomspaco (kaj respektive en certa kunteksto), sed ne indikas ĝian situon. Ekzemple, URN urn:ISBN:0-395-36341-1 estas URI kiu indikas risurcon (libron) 0-395-36341-1 en la nomspaco ISBN; sed, distinge de URL, URN ne referencas situon de la risurco: ne sciigas en kiu vendejo aĉeti la libron aŭ el kiu retejo ĝin elŝuti. Cetere, lastatempe aperis tendenco nomi ajnan identigan ĉenon simple per la vorto URI, sen precizigoj. Do, eble la terminoj URL kaj URN baldaŭ foriros en la pasintecon.
Ĉar URI ne ĉiam montras kiel ricevi la risurcon, distinge de URL, sed nur identigas ĝin, tio donas la eblecon priskribi per RDF risurcojn kiuj ne estas riceveblaj per Interreto (ekzemple: persono, aŭto, urbo kc).
Historio
redaktiEn 1990 en la sidejo de CERN en Ĝenevo la brita sciencisto Tim Berners-Lee inventis URL-on. Ĉar URL estas la plej uzata subaro de URI, oni nomas tiun jaron la naskiĝjaro de URI. Sed, se paroli precize, la koncepto pri URI estis dokumentita en junio 1994 en RFC 1630.
En 1998 en RFC 2396 estis difinita nova versio de URI, samtempe la vorto "universala" (angle Universal) en la nomo estis anstataŭigita per la vorto "unuforma" (angle Uniform). En decembro de 1999 RFC 2732 enkondukis en la specifon pri URI malgrandajn ŝanĝojn por kongruo kun IPv6. En aŭgusto 2002 RFC 3305 anoncis malaktualiĝon de la termino "URL" kaj prioritaton de la termino "URI". La nunaj strukturo kaj sintakso de URI estas reguligataj per la normo RFC 3986 aperinta en januaro 2005. Pluraj plej novaj teknologioj de Semantika Reto (ekzemple, RDF) baziĝas sur la normo de URI. Nun la gvida rolo en la evoluigo de URI apartenas al la Konsorcio de la Tut-Tera Teksaĵo.
Malavantaĝoj
redaktiURL iĝis unu el la fundamentaĵoj de Interreto, tial la principoj de URI estis starigataj tiel por ke provizi plenan kongruon kun URL. De ĉi tie venas ankaŭ la granda malavantaĝo de URI heredita disde URL. En URI, samkiel en URL, eblas uzi nur limigitan kompleton de latinaj kaj interpunkciaj signoj (eĉ malpli ol en Askio). Alivorte, se ni deziros uzi en URI esperantajn aŭ ekzemple francajn ĉapelitajn literojn, aŭ cirilan alfabeton, aŭ hieroglifojn, ni devos kodi URI-on sammaniere, kiel en la Vikipedio estas kodataj URL-oj kun unikodaj signoj. Ekzemple, la ĉeno
https://eo.wikipedia.org/wiki/Ŝanĝo
estas kodata en URL kiel
https://eo.wikipedia.org/wiki/%C5%9Can%C4%9Do
Ĉar tian transformon spertas signoj verŝajne de ĉiuj lingvoj krom la angla, uzataj en URI-oj ne-anglaj vortoj iĝas parte aŭ plene nekompreneblaj por homoj. Kaj tio draste kontraŭas al la principo de internacieco deklarata de ĉiuj ĉeforganizaĵoj de Interreto, en tiu nombro W3C kaj ISOC. Solvi ĉi tiun problemon devas la normo IRI, kiu allasas uzon de unikodaj signoj kaj ne diskriminacias lingvojn. Sed malfacilas diri anticipe, ĉu IRI-oj iam sukcesos anstataŭigi tiom vaste uzatajn URI-ojn.
Ankoraŭ unu interesa variaĵo de URI estas etendebla risurca identigilo, ellaborita fare de la organizaĵo OASIS. Ĉi tiu formato celas kreadi identigilojn kiuj estus absolute sendependaj de la kunteksto: dependus nek de protokolo, nek de domajno, nek de pado, nek de aplikaĵo, nek de platformo — ili estus absolute sendependaj.
Ankaŭ la kreinto de URI, Tim Berners-Lee diris ke la domajna nomsistemo, kiu estas la bazo de URL, estas malbona solvo, trudanta al risurcoj hierarkian arkitekturon kiu ne tre bone taŭgas por la hiperteksta TTT.
Strukturo de URI
redaktiURI = [ skemo ":" ] hierarkia_parto [ "?" demando ] [ "#" fragmento ]
En la ĉi-supra ekzemplo:
- skemo
- skemo de konekto al la risurco (ofte indikas retan protokolon), ekzemple http, ftp, file, ldap, mailto, urn
- hierarkia_parto
- enhavas datumon, ĝenerale organizitan en hierarkia formo kaj kune kun la datumo en la ne hierarkia komponaĵo demando servantan por identigo de la risurco en la limoj de videbleco de la koncerna URI-skemo. Kutime la hierarkia_parto enhavas padon al la risurco (kaj antaŭ ĝi eble ankaŭ adreson de la servilo kie tiu risurco situas) aŭ risurcan identigilon (en la kazo de URN).
- demando
- ĉi tiu fakultativa komponaĵo de URI estas priskribita supre.
- fragmento
- ankaŭ fakultativa komponaĵo
|
Parto de URI sen skemo ofte estas nomata: referenco de URI. Precedencoj de aplikado de URI-referencoj estas en HTML, XHTML, XML kaj XSLT (angle: XSLT). Traduko de referenco de URI en absolutan formon de URI estas nomata: solvo de URI.
Procezo de ellaborado de novaj skemoj estas priskribita en RFC 2718. Novaj skemoj devas esti registrataj en IANA, la procedaro de registrado estas fiksita en RFC 2717. Ambaŭ dokumentoj nun estas relaborataj.
Analizo de strukturo de URI
redaktiPor sintaksa analizo (angle parsing) de URI estas plej oportune uzi la sistemon de regulaj esprimoj disponeblan en preskaŭ ĉiuj modernaj programlingvoj. Por analizo de URI RFC 3986 rekomendas uzi la jenan ŝablonon:
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? 12 3 4 5 6 7 8 9
Tiu ŝablono inkludas naŭ indikitajn supre per ciferoj grupojn kiuj plej komplete kaj precize analizas tipan strukturon de URI, kie:
- grupo 2 estas skemo,
- grupo 4 estas fonto,
- grupo 5 estas pado,
- grupo 7 estas demando,
- grupo 9 estas fragmento.
Do, se per ĉi tiu ŝablono analizi, ekzemple, tian URI:
http://www.ics.uci.edu/pub/ietf/uri/#Related
la naŭ supremenciitaj grupoj de la ŝablono donos la jenan rezulton:
- http:
- http
- //www.ics.uci.edu
- www.ics.uci.edu
- /pub/ietf/uri/
- ne estas rezulto
- ne estas rezulto
- #Related
- Related
Ekzemploj de URI
redaktiAbsolutaj URI
redakti- https://eo.wikipedia.org/wiki/URI
- ftp://ftp.is.co.za/rfc/rfc1808.txt
- file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml
- ldap://[2001:db8::7]/c=GB?objectClass?one
- mailto:John.Doe@example.com
- sip:911@pbx.mycompany.com
- news:comp.infosystems.www.servers.unix
- data:text/plain;charset=iso-8859-7,%be%fe%be
- tel:+1-816-555-1212
- telnet://192.0.2.16:80/
- urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URI-referencoj
redakti- /relative/URI/with/absolute/path/to/resource.txt
- relative/path/to/resource.txt
- ../../../resource.txt
- resource.txt
- /resource.txt#frag01
- #frag01
- [senenhava ĉeno] — estas ekvivalente al analizo de identigilo per analizilo kun rezulto [senenhava ĉeno], do la referenco montras al defaŭlta objekto en defaŭlta skemo
Vidu ankaŭ
redaktiEksteraj ligiloj
redakti- RFC 3986 / STD 66 (2005) (angle)
- RFC 2396 (1998) — malaktualiĝinta versio de sintakso (angle)
- Cirilaj URI (ruse)
- Agado de W3C por evoluigo de URI (angle)
- Skemoj de URI registritaj en IANA (angle)