Specializovan² t²denφk o v²poΦetnφ technice
o Internetu (CW 15/97)
Vytvß°φme si domovskou strßnku
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.
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).
Tab. 1: NejΦast∞jÜφ schΘmata pro URL
file;soubor na lokßlnφm disku
ftp;File Transfer Protocol (p°enos soubor∙)
gopher;Gopher protocol
http;HyperText Transfer Protocol (World Wide Web)
mailto;adresa pro elektronickou poÜtu
news;diskusnφ skupiny
nntp;diskusnφ skupina na urΦitΘm serveru
telnet;terminßlov² p°φstup ke vzdßlenΘmu poΦφtaΦi
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 se, 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.
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. Nap°: 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, ukß₧eme nynφ 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.
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φ URL;V²slednΘ URL
uzivatele.html; http://www.manicka.cz/pub/users/uzivatele.html
spejbl/drevaky.html; http://www.manicka.cz/pub/users/spejbl/drevaky.html
../globus.html; http://www.manicka.cz/pub/globus.html
../info/logo.gif; http://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 ...
|