HTML/Viited

Allikas: Vikiõpikud

Järgnevalt tuleb juttu veebi ühest põhiomadusest - eri lehtede ühendamisest viidete abil.

Alguseks[muuda]

Meie senitehtud töö on tegelikult sarnane mistahes tekstitöötlusprogrammis loodud dokumendiga - sisestame teksti ning kujundame seda vastavalt oma vajadustele. Nüüd aga lisame oma dokumendile selle, mis tegelikult veebi nii populaarseks on teinud - ühendused teistele lehekülgedele.

Viidete lisamise eelduseks on muidugi asjaolu, et me teame nende taga peituvate dokumentide sisu ja see on mingisuguseks täienduseks meie lehel öeldule. Väga veider on vaadata lehte, kus on kõrvuti ühendused Valgesse majja ja Playboy kodulehele - kui veel arvestada, et harilikult on sellise lehekülje enda sisu nullilähedane, siis puudub sellisel üllitisel tegelikul igasugune otstarve.

Absoluutaadress[muuda]

Absoluutadressiga viite all mõtleme viidet mõnda teise Interneti-arvutisse. Sellise viite lihtsaim üldkuju on järgmine:

<a href="soovitud URL">Viite tekst</a>

Näide:

<a href="http://www.ttu.ee/users/jyri/">Jüri lehekülg</a>

Absoluutne URL koosneb seega WWW-dokumendi tunnusest (http://), arvuti aadressist (www.ttu.ee) ja kataloogidest, mida mööda dokumendini jõuda (/users/jyri). Uuem standard näeb üldiselt ette ka viidete kirjeldamise title-parameetriga - see aitab nii tavalise veebilehitseja kasutajat (hiirekursori viimisel viite tekstile kuvatakse kursori juures vastav kirjeldus) kui alternatiivsete meetoditega (näiteks pimeda inimese ekraanilugeja) veebi lugevat inimest. Niisiis on viisakas kirjutada nii:

<a href="http://www.ttu.ee/users/jyri/" title="Jüri Juurika kodulehekülg">Jüri lehekülg</a>

Siin on veel üks asjaolu, mida tuleks arvestada. Enamikus veebiserverites on igal kasutajal võimalik luua oma kataloogi alla kindlaksmääratud nimega alamkataloog, kuhu paigutada oma veebilehed (nimega "public_html", "html.docs" vms). Väljaspool seda kataloogi asetsevad leheküljefailid ei ole lugejale kättesaadavad. Veebikataloogi enda nime aga URL-i ei lisata.

Näitena toodud kasutajakataloogis /users/jyri/ on veebilehtede jaoks tegelikult veel kolmas alamkataloog "public_html", mida aga URL-i ei lisata, samuti ei määrata ka dokumendi nime (URL lõpeb katalooginimega ja kaldkriipsuga) - eeldatakse, et "public_html" kataloog sisaldab dokumenti nimega "index.html" (kõige tavalisem vaikimisi dokumendi nimi, sõltub veebiserveri häälestusest). Sellise nimega dokumendi puudumisel annab server lugejale veateate ("404 File Not Found").


Suhtaadress[muuda]

Suhtelise aadressiga viite all mõtleme viidet samas arvutis asetsevale dokumendile. Suhtelise (ja ka absoluutse) aadressi õigeks kasutamiseks peame teadma kataloogide struktuuri ja failide asukohta sihtkohaks olevas arvutis. Veebiserverites on peaaegu eranditult puukujuline kataloogistik - s.t. on olemas peakataloog, millest hargnevad "puuokstena" alamkataloogid, nendest omakorda nende alamkataloogid jne. Olgu toodud näitena järgnev joonis:

HTML Kataloogid veebiserveris.jpg

Joonisel on toodud tüüpilise Unixi-põhise veebiserveri kolme kasutaja kodukataloogid, nendes asuvad veebikataloogid ja veebilehefailid. Kui nüüd nii Jüri, Mari kui Ats hakkavad endale kodulehti tegema, loovad nad esimeseks leheks automaatselt tuvastatava lehekülje - enamasti nimega "index.html".

Jüri on loonud oma kataloogi kaks lehekülge - "index.html" (avalehekülg) ja "teine.html". Kui Jüri soovib nüüd viidata oma ühelt lehelt teisele lehele, lisab ta näiteks "index.html"-ile sellise viite:

<a href="teine.html" title="Jüri teine leht">Minu teine lehekülg</a>

Kuna leheküljed asuvad ühes ja samas kataloogis, piisab URL-iks vaid failinimest.

Kui Mari tahab lisada oma lehele viite Jüri koduleheküljele, kirjutab ta sellise viite:

<a href="../jyri/" title="Minu sõbra Jüri kodukas">Jüri kodulehekülg</a>

Kuna URLi ei lisata veebikataloogi nime ("public_html") ja antud juhul ka mitte soovitava faili nime (otsitav on "index.html"), siis piisab vaid katalooginimest ("jyri"). Selleni jõudmiseks tuleb aga teha kataloogipuus samm tagasi (kataloogi "users") ja siis alles astuda Jüri kataloogi. Tagasisammu märgitakse kahe punktiga ("..").

Täpselt samasuguse tulemuse aga annaks ka kogu Jüri kataloogile eelneva kataloogistiku lisamine URLi - seega saaks ka nii:

<a href="/users/jyri/" title="Minu sõbra Jüri kodukas">Jüri kodulehekülg</a>

Siin tähistab esimene kaldkriips peakataloogi.

Kui aga Mari soovib viidata Jüri teisele leheküljele, peab ta lisama ka failinime (kuid jällegi jätab välja "public_html"-i!):

<a href="/users/jyri/teine.html" title="Jüri tegi teise lehe ka">Jüri teine lehekülg</a>


Siseviited[muuda]

Siseviite all mõistame sama dokumendi piires toimivat viidet. Siseviited on eriti heaks abiliseks pikkade ja keerulise sisuga dokumentide korral (teadusartiklid jms.). Ka on pikema dokumendi puhul heaks tooniks lisada dokumendi algusesse siseviidetest koosnev sisukord, millelt saab "hüpata" otse huvipakkuvale lõigule. Muidugi on siinkohas mõistlik tuletada meelde ka soovitust mitte panna ühte faili ülearu pikki tekste - kuid kui vahel on seda siiski vaja teha, siis kasutame siseviiteid.

Siseviite määramiseks tuleb ära märkida nii viide ise kui ka koht dokumendis, kuhu viidatakse. Näiteks soovib Mari panna oma retseptikogu Internetti kõigile lugeda. Retsepte on aga palju ja seepärast tuleks iga retsepti pealkiri tähistada ID-ga, millele me saame hiljem viidata. Näiteks seljanka retsepti pealkirjale lisada id atribuut väärtusega "Seljanka":

<h2 id="Seljanka">Seljanka</h2>

Dokumendi algusesse aga tuleks teha sisukord, mis võiks olla näiteks selline:

<ol>
  <li><a href="#Bubert">Bubert</a></li>
  <li><a href="#Kotletid">Kotletid</a></li>
  <li><a href="#Seljanka">Seljanka</a></li>
  <li><a href="#Vahvlid">Vahvlid</a></li>
</ol>

Siseviide on seega viide nimega märgitud kohale samas dokumendis. Nime ette käib sümbol "#" (nn. trellid).

Kui nüüd Jüri sooviks oma lehelt viidata ühele retseptile Mari kokaraamatus (olgu selle faili nimeks toidud.html), peaks tema viide nägema välja nii:

<a href="/users/mari/toidud.html#Tort">Mari fantastilise tordi retsept</a>

E-postiviited[muuda]

Siiani tegime oma lehekülge n.ö. ühes suunas - meie teeme ja teised loevad. Kui aga soovime saada teada oma lugejate arvamust või muud tagasisidet, on lihtsaimaks võimaluseks lisada oma lehele elektronpostiviide. See on analoogiline tavalise viitega, kuid teisele lehele viimise asemel käivitab lugeja arvutis brauseriga määratud E-postiprogrammi (Outlook, Evolution, Pegasus, Pine vms.). Selle meetodi kasutamine eeldab meie lugejailt E-postiprogrammi olemasolu ja brauseri vastavat häälestust - seega ei garanteeri leheküljele pandud viide lugejale reaalset võimalust meile teadet saata (kuid annab vähemalt teada meie aadressi, kuhu seda hiljem läkitada). Kindla teateedastusmeetodina tuleb kasutada sisestusvorme (nende kasutamine eeldab mingis programmeerimiskeeles loodud täiendavate käivitusskriptide olemasolu, seepärast on need käesolevast materjalist välja jäetud).

E-postiviide lisatakse leheküljele nii:

<a href="mailto:jyri@marvin.ttu.ee">Jüri Juurikas - jyri@marvin.cc.ttu.ee</a>

Seega asendatakse E-postiviites hüpertekstilehekülje tunnus (http://) postitunnusega (mailto:) ning URL adressaadi E-aadressiga, muus osas on viide sama.

Selle materjali varasemas versioonis leidus soovitus kirjutada E-aadress lisaks viitele endale ka viite teksti - kui lugeja soovib seda endale üles kirjutada või meelde jätta, ei pea ta hakkama viidet ennast "torkima". See põhimõte ei ole iseendast valeks muutunud, kuid paraku on suure osa inimeste rumalus olukorda mõneti karmistanud. Jutt on muidugi spämmist ehk rämpspostist.

Raskema kategooria spämmilevitajad kasutavad aadresside kogumiseks veebi otsimootoritega samal põhimõttel toimivaid otsiroboteid - kui kuskil veebilehel leidub meiliaadressi meenutav tekstilõik (tüüpiliselt siis mingitekst@mingitekst), salvestatakse see roboti poolt automaatselt andmebaasi. Kui tegu on reaalselt töötava veebiaadressiga, hakatakse sinna varsti saatma üleskutseid osta Viagrat, pornolehti ja vanu pükse - loomulikult aadressiomanikult selleks luba küsimata. Probleemi saab lahendada mitmeti:

  • vältida meiliaadresside panekut veebi - kõige kindlam, kuid vahel see vajadus siiski tekib
  • asendada @-sümbol mingi muu tekstiga - levinud on moodus jyri(at)marvin.cc.ttu.ee .
  • Lisada aadressi mingi selgelt üleliigne tekst, mille mõistuslik inimene oskab aadressist enne kasutamist eemaldada, loll robot aga lisab andmebaasi kasutuskõlbmatu aadressi - näiteks jyri@VISKASEEVÄLJA!.marvin.cc.ttu.ee .