Těmito termíny rozumíme:
- URI
- Uniform Resource Identifier. Obecně použitelná množina všech jmen/adres, které se vztahují k nějakému zdroji.
- URL
- Uniform Resource Locator. Neoficiální termín (již se v technických specifikacích neužívá), který je spojen s populárnímu schématy URI, jako např. http:, ftp:, mailto:, apod.
- URN
- Uniform Resource Name. Má dva významy:
- je to URI, které má institucionálně definované trvání, dostupnost, apod.
- je jedním ze schématů URI
Informace k této problematice najdete v článku URIs, URLs, and URNs: Clarifications and Recommendations.
Základní struktura URI
Syntaxe URI je následující (zjednodušeně) schemaadresa_objektu
- schema
- Jedná se o položku, kterou identifikujeme typ zdroje a přístupovou metodu ke zdroji. Definovaných schémat je celá řada a jsou udržovány organizací iana.org na adrese http://www.iana.org/assignments/uri-schemes.html. Schéma je zapsána jako slovo:, tj. je uvedeno klíčové slovo, za kterým následuje dvojtečka. K nejznámějším patří schémata:
- http: - pro přístup použijeme protokol http (Hypertext Transfer Protocol) - službu WWW
- ftp: - pro přístup použijeme protokol ftp (File Transfer Protocol) - službu FTP
- mailto: - zdrojem je elektronická adresa
- news: - zdrojem je USENET news
- file: - zdrojem je definovaný soubor na klientském počítači
- rtsp: - pro přístup použijeme protokol rtsp (Real Time Streaming Protocol)
- https: - pro přístup použijeme zabezpečený protokol http (Hypertext Transfer Protocol) - službu WWW
Pokud je schématem urn: pak za ním následuje specifický zápis registrovaného URN
- adresa_objektu
- Jedná se o položku, kterou identifikujeme objekt. Jeho tvar závisí na použitém schématu. Např.:
- pro schéma http: použijeme //adresa_uzlu/adresa_objektu_na_uzlu a pak uri má tvar http://adresa_uzlu/adresa_objektu_na_uzlu, kde
adresa uzlu je vyjádřena dvojicí uzel:port. Uzel pak můžeme zapsat pomocí doménového jména (→Podniková informatika, kap. 12.5.3) nebo IP adresy (→Podniková informatika, kap. 12.5.2.2). Port zapisujeme číselně a uvádíme ho tehdy, pokud proces serveru "naslouchá" na jiném než standardním portu. Adresa_objektu_na_uzlu zapisujeme včetně adresářové struktury, která vede od "virtuálního" kořene určeného danému procesu serveru.
- pro schéma mailto: použijeme emailova_adresa;emailova_adresa a pak uri má tvar mailto:xyz@aaa.bb
URI v XHTML dokumentech a tabulkách kaskádových stylů
Celá řada elementů jazyka XHTML a některé funkce nebo příkazy jazyka CSS vyžadují, aby jako hodnota atributu nebo funkce bylo uvedeno uri.
Při zápise uri rozeznáváme tzv. zápis absolutní a relativní. Pro použití toho kterého zápisu existuje následující doporučení.
Absolutní adresaci použij tehdy, pokud se jedná o objekt, který je umístěn na jiném uzlu, nebo pokud pro přístup k němu je nutno použít jiného schématu než http:. V jiném případě použij relativní adresaci objektu.
Jak vypadá absolutní adresa?
Zápis absolutní adresy je plným zápisem uri (tj. včetně schematu), tj. pokud v aktuálním dokumentu s adresou http://nb.vse.cz/~gala/it120/index.htm požadujeme vytvořit odkaz na zdroj, ke kterému přistupujeme protokolem http a který je např. je umístěn na uzlu si.vse.cz a má název index.asp, je uveden následovně http://si.vse.cz/index.asp. Pro zápis platí pravidla definovaná pro URI, tj schemaadresa_objektu.
Jak vypadá relativní adresa?
Zápis relativní adresou umožňuje tvůrci dokumentu, za předpokladu výše uvedených podmínek, adresovat objekt zkráceně. Pokud autor ve svém dokumentu požaduje adresovat objekt, který je umístěn na stejném uzlu a ke kterému přistupuje stejným schematem, pak jako adresu uri uvede pouze adresu objektu. Pro adresu objektu platí specifické podmínky. Mějme následující příklad.
Adresářová stuktura na uzlu kitlab.vse.cz.
Z důvodu rozlišení mezi adresáři a soubory budou adresáře zapsány velkými písmeny (verzálkami) a soubory písmeny malými (miskule, mínuska).
/+
|
+-- index.htm
+-- stylopis.css
+-- PRODUKTY +
| |
| + -- produktA.htm
| + -- produktB.htm
|
+-- OBRAZEK +
| |
| + -- logo.gif
|
+-- onas.htm
Pokud autor požaduje v dokumentu index.htm adresovat soubor
- stylopis.css, pak protože je soubor stylopis.css umístěn ve stejném adresáři zapíše uri jako stylopis.css
- produktA.htm, pak protože je soubor produktA.htm umístěn v podadresáři PRODUKTY, musí zajist přechod do tohoto adresáře. To provede tak, že uvede jeho jméno. Uri pak zapíše jako PRODUKTY/produktA.htm
- logo.gif, pak protože je soubor logo.gif umístěn v podadresáři OBRAZEK zapíše uri jako OBRAZEK/logo.gif
- onas.htm, pak protože je soubor onas.htm umístěn ve stejném adresáři zapíše uri jako onas.htm
Pokud autor požaduje v dokumentu produktA.htm adresovat soubor
- index.htm, pak protože je soubor index.htm umístěn v nadřízením adresář, musí zajistit přechod v adresářové struktuře o úroveň výše. To provede tak, že uvede .. (dvě tečky). Uri zapíše jako ../index.htm
- stylopis.css, pak protože je soubor stylopis.css umístěn v nadřízením adresář, musí zajistit přechod v adresářové struktuře o úroveň výše. To provede tak, že uvede .. (dvě tečky). Uri zapíše jako ../stylopis.css
- logo.gif, pak protože je soubor logo.gif umístěn v podadresáři OBRAZEK a ten není podadresářem adresáře PRODUKTY, ale je podadresářem kořenového adresáře, musí nejprve zajistit přechod v adresářové struktuře o úroveň výše a pak musí přejít do adresáře OBRAZEK. Uri zapíše jako ../OBRAZEK/logo.gif
- produktB.htm, pak protože je soubor produktB.htm umístěn ve stejném adresáři zapíše uri jako produktB.htm
Doporučení k názvům souborů (včetně názvů adresářů, neboť to je vlastně také soubor). Protože server může být administrátorem nastaven tak, že rozlišuje mezi velkými a malými písmeny v názvech, doporučuji, aby se autor rozhodl, zda bude používat malá nebo velká písmena a toto pak dodržel u všech dokumentů a také při zápisu uri.