Odkazy a URL

Jiří Kosek ml.

Největší silou HTML je možnost zachytit vztahy mezi částmi textu či obrázky a jinými dokumenty. Všichni víme, že některé části WWW stránky mohou sloužit jako odkazy na jiné stránky -- stačí na takové místo kliknout a ocitneme se na nové stránce. Odkazy většinou poznáme tak, že jsou podtrženy (v případě textu) či zarámečkovány (v případě obrázků). Dalším poznávacím znamínkem odkazů je změna tvaru kurzoru myši -- pokud myší najedeme nad odkaz, změní se kurzor z šipky na ukazující ruku.

Než si však povíme, jak na naší stránce vytvořit odkaz, musíme si nejprve něco povědět o adresách, které používá WWW. Za každým odkazem se totiž musí skrývat určení místa v Internetu, kam odkaz ukazuje.

URL

Pro potřeby Webu byl vytvořen tzv. URL (Uniform Resource Locator) -- URL je právě tou jednoznačnou adresou, která je používána pro identifikaci různých zdrojů na Internetu (webovských stránek, e-mailových adres, souborů, diskusních skupin, ...).

Například adresa http://www.uzdroje.cz/film.html je typickým příkladem URL, se kterým se setkáváme nejčastěji. Obecný tvar URL je však složitější:

schéma://uživatel:heslo@počítač:port/cesta;parametry?dotaz#fragment. Samozřejmě, že URL nemusí obsahovat všechny části.

Tab. 1: Nejčastější schémata pro URL
filesoubor na lokálním disku
ftpFile Transfer Protocol (přenos souborů)
gopherGopher protocol
httpHyperText Transfer Protocol (World-Wide Web)
mailtoadresa pro elektronickou poštu
newsdiskusní skupiny
nntpdiskusní skupina na určitém serveru
telnetterminálový přístup ke vzdálenému počítači
Seznam možných schémat můžeme nalézt v tabulce 1. Schéma indikuje typ zdroje -- nejčastěji protokolem, který je nutné použít pro dosažení daného zdroje. Nejčastěji používaným schématem je právě http, které indikuje webovskou stránku (či přesněji objekt, který je dosažitelný pomocí protokolu HTTP).

Z části uživatel:heslo@počítač:port se většinou v praxi použije jen počítač pro určení doménové adresy počítače, na kterém se nachází požadovaná informace. V našem příkladě je počítačem právě server s adresou www.uzdroje.cz.

Další částí URL je cesta, která v případě Webu určuje cestu a jméno souboru, který je požadován.

POZOR: Některá URL nemají specifikováno jméno souboru. Nebojte nejsou nekompletní. Webovské servery automaticky doplní nějaké implicitní jméno -- nejčastěji index.html nebo default.html.

Část URL parametry se příliš nepoužívá. Dotaz je používán například pro předávání hodnot získaných ze stránek, které jsou formuláři (to jsou ty stránky, které obsahují různá vstupní pole a umožňují tak např. zadat parametry hledaného vlakového spojení).

O poslední části URL -- fragmentu -- si ke konci dnešního pokračování seriálu povíme něco podrobněji. Využijeme jej v případech, kdy se potřebujeme odkazovat pouze na nějakou část webovské stránky a ne na stránku jako celek.

Již je nejvyšší čas, abychom si ukázali, jak v HTML vytvořit odkaz. K vytvoření odkazu se využívá element <A> a jeho atribut HREF. Postup je následující:

  1. napíšeme do dokumentu začátek tagu <A  (za A musí být mezera);
  2. specifikujeme URL dokumentu (nebo jiného zdroje), na který se chceme odkazovat -- napíšeme HREF="URL">;
  3. napíšeme text, který bude použit jako odkaz (bude podtržen a kliknutím na něj se odkaz aktivuje);
  4. celý odkaz ukončíme tagem </A>.

Z pojmu obsaženého někde uprostřed věty můžeme snadno vytvořit odkaz:

 ...
Mnoho zajímavých informací o službě WWW lze nalézt na serveru
<A HREF="http://www.w3.org">konsorcia W3C</A>. Naleznete zde
i informace o nejnovější verzi jazyka HTML.
 ...
V prohlížeči dopadne výsledek přibližně takto:

Při specifikaci cesty v URL se k oddělování jednotlivých adresářů nepoužívá zpětné lomítko ('\') jako v DOSu nebo Windows, ale normální lomítko ('/') jako v UNIXu. Př.: http://www.w3.org/pub/WWW/TR/PR-html32-961105.html

POZOR: Většina serverů pracuje pod operačními systémy UNIX nebo Windows NT. Tyto systémy v názvech souborů rozlišují mezi malými a velkými písmeny. Při zápisu URL musíme dát vždy pozor na to, zda používáme správnou velikost písmen.

Relativní URL

Dosud jsme pracovali pouze s URL, kde bylo specifikováno schéma i počítač. Velice zajímavého a užitečného efektu lze dosáhnout, pokud použijeme z celého URL jen část pro specifikaci cesty. Představme si, že z nějaké stránky máme odkaz na stránku, která je uložena ve stejném adresáři. Mohli bychom zdlouhavě opisovat celé URL. Existuje však mnohem snazší řešení -- jako URL stačí použít samotné jméno souboru. Prohlížeč automaticky doplní začátek URL podle dokumentu, který odkaz obsahuje. Jak to všechno může fungovat si ukážeme na malé ukázce. Předpokládejme, že na serveru www.manicka.cz existuje adresářová struktura znázorněná na obr. 2. V dokumentu index.html, který je v adresáři users, bude několik relativních odkazů. My si ukážeme, jak se vykonstruuje výsledné URL.

Obr. 2: Adresářová struktura na serveru Mánička

Nejprve určíme URL dokumentu, který obsahuje odkazy: http://www.manicka.cz/pub/users/index.html. Kam budou ukazovat různá relativní URL si ukážeme v přehledné tabulce:

Relativní URLVýsledné URL
uzivatele.htmlhttp://www.manicka.cz/pub/users/uzivatele.html
spejbl/drevaky.htmlhttp://www.manicka.cz/pub/users/spejbl/drevaky.html
../globus.htmlhttp://www.manicka.cz/pub/globus.html
../info/logo.gifhttp://www.manicka.cz/pub/info/logo.gif

Jak vidíme, pomocí dvou teček .. se můžeme dostat v úrovni adresářů na vyšší úroveň. Tuto vlastnost lze aplikovat pouze na úrovni cesty, použít ji ke změně serveru je nepřípustné (v naší ukázce by tedy zápis ../../../www.w3.org byl naprosto chybný a zcestný).

TIP: Odkazy v rámci jedné logicky ucelené skupiny dokumentů (např. kniha, informace o firmě) by měly být relativní. Odkazy na ostatní dokumenty (např. citace jiných knih, odkazy na partnerské firmy) by měly být absolutní. Po přesunu celé skupiny dokumentů do jiného adresáře nebo na jiný server nebude nutné měnit URL obsažených odkazů.

Odkazy na určité místo dokumentu

Pokud je nějaký dokument dlouhý, je účelné odkazovat se na něj nejen jako na jeden celek, ale i na jeho jednotlivé části. Tuto možnost nám HTML nabízí prostřednictvím elementu <A> a jeho atributu NAME ve spojení s částí URL, kterou jsme nazvali fragment. Atribut NAME nám umožňuje označit úsek dokumentu návěstím, na které se lze odkazovat z libovolného dokumentu. Definice návěstí se provádí následovně:
  1. napíšeme do dokumentu začátek tagu <A  (za A musí být mezera);
  2. specifikujeme jméno návěstí, na které se budeme odkazovat -- napíšeme NAME="jméno_návěstí">;
  3. napíšeme text, který bude návěstím označen;
  4. celou definici návěstí ukončíme tagem </A>.

Pokud se odkazujeme na nějakou část v rámci téhož dokumentu, s výhodou použijeme relativní URL:

Zde je odkaz na <A HREF="#abrakadabra">nějaké návěstí</A>
ve stejném dokumentu
Pokud se chceme odkazovat na návěstí v jiném dokumentu, připojíme fragment (jméno návěstí doplněné zepředu o znak '#') za jméno dokumentu:
Zde je odkaz na nějaké místo v jiném dokumentu:
<A HREF="http://www.manicka.cz/info/bilance.html#rok1995">
Bilance za rok 1995</A>
Část souboru bilance.html pak může vypadat např. takto:
 ...
<H3><A NAME="rok1995">Bilance 1995</A></H3>
<P>
V roce 1995 dosáhla naše firma ...

© Jiří Kosek 1999