Cilvēki runā par URL, URI un URN, it kā tās būtu dažādas lietas, taču ar neapbruņotu aci tās izskatās vienādas.
Kādas ir atšķirības starp tiem?
No RFC 3986:
URI var klasificēt kā lokatoru, nosaukumu vai abus.
termins "Uniform Resource Locator" (URL) attiecas uz URI apakškopu.
kas papildus resursa identificēšanai nodrošina arī līdzekli, ar ko identificēt
atrast resursu, aprakstot tā primāro piekļuves mehānismu.
(piemēram, tā atrašanās vietu tīklā). Termins "Vienotais resursa nosaukums"
(URN) vēsturiski ir lietots, lai apzīmētu gan URI, gan URI saskaņā ar
"urn" shēmu [RFC2141], kuriem ir jābūt globāli unikāliem.
pat tad, kad resurss beidz pastāvēt vai kļūst nemainīgs.
un jebkuram citam URI ar nosaukuma īpašībām.
Tātad visi URL ir URI (patiesībā ne gluži - skat. tālāk), un visi URN ir URI, bet URN un URL ir atšķirīgi, tāpēc nevar teikt, ka visi URI ir URL.
EDIT: iepriekš biju domājis, ka visi URL ir derīgi URI, bet, kā norādīts komentāros:
Visi URL ir URI". Tas ir atkarīgs no RFC interpretācijas. Piemēram, Java URI analizatoram nepatīk [
vai ]
, un tas ir tāpēc, ka specifikācijā teikts "should not", nevis "shall not".
Tas diemžēl vēl vairāk sadrumstalo situāciju.
Ja jūs vēl neesat izlasījuši Roger Pate atbildi, es arī ieteiktu to darīt.
Tās ir vienas un tās pašas lietas. URI ir URL vispārinājums. Sākotnēji URI bija plānots iedalīt URL (adresēs) un URN (nosaukumos), bet tad starp URL un URI bija maz atšķirību, un http URI tika izmantoti kā nosaukumu telpas, lai gan tie faktiski nemeklēja nekādus resursus.
Vikipēdija sniegs visu nepieciešamo informāciju. Citāts no http://en.wikipedia.org/wiki/URI:
URL ir URI, kas ne tikai identificē resursu, bet arī nodrošina līdzekļus, kā rīkoties ar resursu vai iegūt tā attēlojumu, aprakstot tā galveno piekļuves mehānismu vai tīkla atrašanās vietu.