URL

URL znamená Unique Resource Locator = jednoznačné určení zroje. Je to způsob, jak jednoznačně zapsat umístění souboru na Internetu nebo na intranetu. URL je synonymem pro internetové adresy. V HTML se URL používá jak pro zacílení odkazů, tak pro načítání obrázků a podpůrných souborů.

Příklad: http://www.seznam.cz je URL ukazující na stránku Seznamu.
http://www.jakpsatweb.cz/html/url.htm je URL ukazující na tuto stránku. 

URL se do stránek zapisuje buďto jako absolutní adresa, nebo jako relativní. Zatímco absolutní adresa je to samé, co URL, relativní adresa je nějaký zkrácený zápis adresy, který funguje díky tomu, že prohlížeč ten zápis pochopí podle adresy aktuální stránky.

Skladba absolutní URL

Každá absolutní adresa se skládá z protokolu a doménového jména. Většinou následuje adresářová cesta a jméno souboru. Někdy jsou v adrese ještě číslo portu, jméno záložky a dotaz (query string).

Protokoly

HTML stránky se nejčastěji přenášejí http protokolem. Ten se do URL zapisuje jako http://

Další protokoly mailto: , ftp:// nebo https:// se užívají zřídka.

Domény

Každý server na Internetu má doménové jméno. To se skládá ze tří částí oddělených tečkami.

  1. jméno virtuálního serveru, nejčastěji www (doména třetí úrovně)
  2. jméno domény druhé úrovně (nutná registrace)
  3. generická doména (doména nejvyššího řádu), nejčastěji cz, sk nebo com

Port

Velmi zřídka se za generickou doménu píše dvojtečka a číslo portu.

Adresářová cesta

Cílový soubor bývá uložen v adresáři (ale může být přímo v kořeni serveru). Adresáře se do URL zapisují za generickou doménu. Před jméno adresáře patří lomítko (obyčejné, nikoli zpětné). Je-li adresářů více úrovní, píšou se za sebe odděleny lomítky.

Soubory

Vlastní jméno souboru se píše za adresářovou cestu (existuje-li). Před jméno souboru se dává lomítko.

Záložky

Odkaz může mířit na záložku v odkazovaném dokumentu. Do URL se za jméno souboru píše křížek # a jméno záložky.

Dotaz

Součástí URL mohou být i vstupní data pro nějaký skript. Ta se do URL píšou na konec za otazník. Syntaxe je jmeno=hodnota&jmeno2=hodnota2.

Příklad

Příkladem absolutního URL může být:
http://www.jakpsatweb.cz/html/url.htm#priklad

Část adresy Příklad Jiné možné hodnoty
protokol http:// ftp:// , mailto: atd.
doména 3. úrovně (server) www. www. , cokoliv.
doména 2. úrovně jakpsatweb. seznam. , mujweb. apod.
generická doména cz com, sk, gov apod.
port nic :80 , :číslo
cesta (adresáře) /html/ /, /cokoliv/adresar/
jméno souboru url.htm index.html apod.html
záložka #priklad #jménozáložky
dotaz nic ?proměnná=hodnota

Relativní adresování

Mnohdy je vypisování celé absolutní adresy zbytečné a zdlouhavé. Existuje možnost, jak si práci usnadnit použitím relativní adresy.

Myšlenka relativních adres se zakládá na tom, že soubory, které se navzájem odkazují, často leží na tomtéž serveru. Každý soubor, který pomocí URL vyžaduje jiný soubor, má sám nějaké absolutní URL. Takže stačí, aby se do adresy napsaly cesta k souboru, lomítko a jméno souboru. To je relativní URL.

relativní URL = cesta/jméno_souboru

Často oba soubory leží v jednom adresáři, takže pak není nutno vyplňovat cestu (je prázdná), relativní URL tvoří pouze jméno souboru.

Adresáře se oddělují lomítky. Pokud se cílený soubor nachází v hierarchii adresářů někde výše (takže je nutno "vyskákat" nahoru), použije se zápis dvou teček pro nadřazený adresář.

Příklad: Vložení obrázku s logem Jak psát web do této stránky za použití relativní adresy by se udělalo takto: <img src="../images/jpweb.gif">

V relativním URL lze samozřejmě použít záložky a dotazy.

Teď trochu exaktněji (příp. přeskočte)

Když píšu o relativním URL, je to z hlediska přesnosti blbost. Nic takového v reálu neexistuje, protože když klient (prohlížeč) najde relativní adresu, tak si ji hned převede na absolutní adresu.

Nechtěl jsem to komplikovat, ale pokud vás zajímá korektní syntaxe absolutní URL, tak vypadá nějak takhle:

protokol://[uzivatel[:heslo]@]adresa_pocitace[:port]/[cesta/][soubor]

To s těmi hranatými závorkami je konvenční zápis: co je v hranatých závorkách, to tam být může, ale nemusí. Jak vidíte, doménové jméno je vlastně adresa počítače. A z hlediska serveru je zápis /soubor absolutní cestou v kořeni dokumentů.

Někdy se místo URL říká URI.

URI je souhrný název pro URN (names) a URL. Je to trochu zbytečný maglajs, protože URN jsem v praxi snad nikdy použít neviděl. Když tedy někdy vidíte, že je řeč o URI, tak je to to samé co URL, akorát módněji podané.

Se zkratkou URI se asi nejčastěji setkáte v případě něčeho, čemu se říká Data URI schéma, což je zápis obrázků přímo do html dokumentu (pro podrobnosti o data URI zatím odkazuji na wikipedii).

Speciální znaky

Pokud se ve jménu souboru vyskytuje mezera, je nutno nahradit ji v URL sekvencí znaků "%20". Říká se tomu URL encoding. Takto lze nahradit každý znak znakem procenta se dvěma znaky, které jsou šestnáctkovým zápisem toho původního znaku.

Takové překódování je nutné i v případě diakritizovaných znaků ve jménech souborů a adresářů. Mimochodem jména souborů a adresářů doporučují bez mezer, háčků a čárek, aby nevznikaly chyby a nebyla s tím práce.

Znak & v url

V některých případech se v URL stránky vyskytuje znak ampersand, latinské et, prostě &. Typicky se používá na oddělování parametrů skriptu, například:

http://nějaká-doména.cz/skript.php?parametr=1&druhý=2

Pokud takto adresu URL napíšete do adresního řádku prohlížeče, bude fungovat (tato je samozřejmě vymyšlená). Jestliže ale tuto adresu budete chtít zapsat do html třeba jako cíl odkazu, mělo by se to psát jinak:

<a href="http://nějaká-doména.cz/skript.php?parametr=1&amp;druhý=2"> odkaz</a>

Odkaz bude nadále fungovat naprosto stejně. Zápis &amp; je html entita pro znak ampersand.

Co se stane, když napíšu do HTML odkaz bez entity? Takto:

<a href="http://nějaká-doména.cz/skript.php?parametr=1&druhý=2">odkaz</a>

Většinou se nestane nic, ale jednak to nebude validní, a druhak se může stát, že to v některých řídkých případech nebude fungovat v Internet Exploreru. Například hledání v Seznamu obsahuje sekce a regiony, které se kdysi zapisovaly parametry sect a reg. Zápis

skript?parametr=1&reg=2

nebo

skript.php?parametr=1&sect=2

pochopí Internet Explorer zcela chybně jako začátek entity (&reg; a &sect;) a parametr neodešle správně. Příklad. Řešení je napsat to do HTML takto:

skript?parametr=1&amp;reg=2
skript.php?parametr=1&amp;sect=2

Jazyková poznámka

V češtině se URL legračně používá ve všech třech mluvnických rodech. V angličtině URL znamená Uniform Resource Locator, ale v angličtině rody namají. V češtině se URL používá:

Já sám všechny rody u URL střídám, ale nikoli záměrně. Náramná švanda.

 

Reklama

www.webhosting-c4.cz, webhosting s doménou v ceně. 20GB

o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

HTML tagy Abecedně Příklady HTML tahák

Jak psát web píše Yuhů, Dušan Janovský. Kontakt.