Táto téma z informatiky sa venuje tvorbe a vzájomnému prepájaniu webových stránok pomocou HTML, základným programom, súčastiam a vrstvám operačného systému a spôsobu, akým sa údaje prenášajú počítačovou sieťou pomocou paketov.
V praktickej úlohe máme použiť pripravený priečinok nvu-web a dokončiť webovú stránku kúpeľov v Dudinciach.
Máme vytvoriť tri nové HTML súbory:
Tieto stránky následne prepojíme pomocou hypertextových odkazov s hlavnou stránkou:
index.html
Výsledkom má byť jednoduchá webová lokalita, v ktorej sa používateľ môže z hlavnej stránky dostať na jednotlivé druhy pobytov a podľa potreby sa vrátiť späť.
HTML – HyperText Markup Language je značkovací jazyk používaný na vytváranie štruktúry webových stránok.
Pomocou HTML určujeme napríklad:
HTML neurčuje programovú logiku ako klasický programovací jazyk. Jeho hlavnou úlohou je popísať štruktúru webového dokumentu.
Jednoduchá moderná HTML stránka môže vyzerať napríklad takto:
Liečebné pobyty –
DudinceInformácie o liečebných pobytoch v Dudinciach.
Zápis:
informuje prehliadač, že dokument používa moderné HTML5.
Element:
obsahuje celý HTML dokument.
Atribút:
lang="sk"
informuje prehliadače a ďalšie nástroje, že obsah stránky je v slovenčine.
Časť obsahuje informácie o dokumente, ktoré sa bežne nezobrazujú priamo ako obsah stránky.
Patrí sem napríklad:
Zápis:
zabezpečuje správne zobrazovanie slovenských znakov, napríklad:
á, ä, č, ď, ľ, ĺ, ň, ô, ŕ, š, ť, ž
Element:
určuje názov stránky zobrazovaný napríklad na karte internetového prehliadača.
Do elementu:
umiestňujeme samotný viditeľný obsah stránky.
Všetky vytvárané HTML súbory je vhodné uložiť do rovnakého priečinka ako hlavný súbor index.html, ak zadanie neurčuje inú adresárovú štruktúru.
Priečinok môže mať napríklad takúto štruktúru:
nvu-web/│├── index.html├──
liecebne.html
├── relaxacne.html├── vikendove.html├── obrazky/└── dalsie-subory/Stránka môže obsahovať informácie o liečebných pobytoch.
Jej názov v dokumente môže byť napríklad:
Liečebné pobyty
Táto stránka môže obsahovať obsah venovaný relaxačným pobytom.
Nadpis stránky môže byť:
Relaxačné pobyty
Táto stránka môže obsahovať ponuku víkendových pobytov.
Nadpis môže byť:
Víkendové pobyty
Jednou zo základných vlastností webu je možnosť prepájať dokumenty pomocou hypertextových odkazov.
V HTML vytvárame odkaz pomocou elementu:
Adresa cieľa sa zadáva do atribútu:
href
Liečebné pobytyRelaxačné pobytyVíkendové pobytyDo súboru index.html môžeme vložiť napríklad jednoduchú navigáciu:
Po kliknutí na jednotlivý odkaz prehliadač otvorí príslušný HTML dokument.
Na každej podstránke je vhodné vytvoriť aj odkaz späť na hlavnú stránku:
Späť na hlavnú stránkuPoužívateľ sa tak nemusí pri navigácii spoliehať iba na tlačidlo Späť v prehliadači.
Odkazy:
liecebne.html
alebo:
index.html
sú príkladom relatívnych adries.
Relatívna cesta určuje umiestnenie súboru vzhľadom na aktuálny dokument.
Ak sú všetky štyri HTML dokumenty v rovnakom priečinku, stačí uviesť samotný názov súboru.
Ak by sa súbor nachádzal v podpriečinku pobyty, cesta by mohla byť:
Liečebné pobytyZápis:
../
znamená prechod o jednu úroveň vyššie v adresárovej štruktúre.
Napríklad:
DomovAbsolútna URL obsahuje kompletnú internetovú adresu.
Napríklad:
Externá stránkaPri prepájaní vlastných stránok v jednom priečinku je však vhodnejšie používať relatívne odkazy.
Ak má stránka obsahovať obrázky, môžeme použiť element:
Napríklad:

src určuje cestu k obrázku.
alt obsahuje textový popis obrázka.
Je dôležitý napríklad:
Pôvodná praktická úloha pracuje s editorom Nvu.
Nvu bol grafický HTML editor typu WYSIWYG – What You See Is What You Get, v ktorom používateľ mohol vytvárať webovú stránku podobným spôsobom ako dokument v textovom editore.
Program Nvu je dnes už historický a nevyvíja sa. Princípy, ktoré sa v úlohe precvičujú, však zostávajú rovnaké:
Po dokončení všetkých stránok je potrebné web otestovať v internetovom prehliadači.
Skontrolujeme najmä:
Ak odkaz nefunguje, častou príčinou je nesprávne uvedená cesta.
Napríklad:
href="liecebne.htm"nebude smerovať na súbor:
liecebne.html
ak súbor s príponou .htm neexistuje.
Názov súboru a cesta preto musia presne zodpovedať skutočnému umiestneniu.
Operačný systém – OS je základný systémový softvér, ktorý riadi hardvérové prostriedky počítača a poskytuje služby aplikáciám a používateľovi.
Operačný systém tvorí prostredníka medzi:
hardvérom ↔ operačným systémom ↔ aplikáciami ↔ používateľom
Medzi jeho hlavné úlohy patria:
Pôvodný školský materiál rozdeľuje programy súvisiace s operačným systémom na:
Ide o tradičnú školskú klasifikáciu. V moderných operačných systémoch sú hranice medzi jednotlivými kategóriami zložitejšie a napríklad kompilátor už nepovažujeme za nevyhnutnú súčasť samotného operačného systému.
Riadiace programy zabezpečujú riadenie základných činností počítačového systému.
Starajú sa napríklad o:
Keď používateľ spustí program, operačný systém:
Obslužné programy – utility sú nástroje určené na správu, údržbu a podporu počítačového systému.
Môžu zabezpečovať napríklad:
V starších systémoch DOS boli typickými spustiteľnými súbormi napríklad súbory s príponami:
Táto formulácia je historicky správna pre prostredie DOS a starších Windows, ale moderné operačné systémy používajú omnoho viac typov programov a systémových služieb.
Linker spája jednotlivé preložené časti programu a knižnice do výsledného spustiteľného programu alebo knižnice.
Zavádzač – loader zabezpečuje načítanie programu do operačnej pamäte a jeho prípravu na spustenie.
Pri štarte počítača sa používa aj bootloader, ktorý pomáha spustiť operačný systém.
Slúžia na kontrolu:
Prekladače prevádzajú program napísaný v programovacom alebo symbolickom jazyku do formy, ktorú dokáže počítač spracovať.
Rozlišujeme najmä:
Kompilátor prekladá zdrojový kód vyššieho programovacieho jazyka do strojového kódu, medzikódu alebo inej cieľovej reprezentácie.
Príkladom môže byť preklad programu napísaného v jazyku C alebo C++.
Assembler prekladá program napísaný v jazyku symbolických inštrukcií – assembleri – do strojového kódu.
Interpreter spracováva programové inštrukcie počas vykonávania programu namiesto vytvorenia klasického samostatného strojového programu v jednom kroku.
V praxi sa moderné jazyky môžu používať aj v kombinovaných modeloch, napríklad s medzikódom a JIT kompiláciou.
V staršej školskej klasifikácii sa prekladače uvádzajú medzi systémovými programami.
V modernom pohľade však kompilátor nie je nevyhnutnou súčasťou operačného systému. Ide skôr o vývojový nástroj, ktorý môže byť do systému dodatočne nainštalovaný.
Medzi základné súčasti operačného systému môžeme zaradiť:
Jadro – kernel je základná výkonná časť operačného systému.
Počas činnosti systému je umiestnené v operačnej pamäti a zabezpečuje základné riadenie počítača.
Jadro má na starosti najmä:
Aplikácia nemá bežne neobmedzený priamy prístup ku všetkému hardvéru.
Ak potrebuje vykonať určitú privilegovanú operáciu, požiada o službu jadro prostredníctvom systémového volania – system call.
Napríklad môže požiadať o:
Pôvodný materiál používa označenie monitor – interpreter príkazov.
V súčasnej terminológii používame častejšie pojem:
shell – príkazový interpreter
Jeho úlohou je umožniť komunikáciu používateľa s operačným systémom.
Môže:
Moderný operačný systém môže zároveň poskytovať aj grafické používateľské rozhranie – GUI.
Driver – ovládač je softvérová súčasť umožňujúca operačnému systému komunikovať s konkrétnym hardvérovým zariadením.
Ovládače sa používajú napríklad pre:
Ovládač prekladá všeobecné požiadavky operačného systému na príkazy, ktorým rozumie konkrétne zariadenie.
Systémové knižnice obsahujú pripravené funkcie, ktoré môžu využívať operačný systém a aplikácie.
Môžu poskytovať napríklad:
Moderné operačné systémy používajú množstvo procesov bežiacich na pozadí, ktoré poskytujú systémové služby.
Môžu zabezpečovať napríklad:
Počítačový systém môžeme zjednodušene chápať ako niekoľko vrstiev umiestnených nad sebou.
Najnižšiu vrstvu tvorí hardvér a najvyššiu aplikácie používané človekom.
Zjednodušený model môže vyzerať:
používateľské aplikácie
↓
systémové knižnice, služby a používateľské rozhranie
↓
jadro operačného systému a ovládače
↓
firmvér – UEFI / historicky BIOS
↓
hardvér
Hardvér tvorí fyzické technické vybavenie počítača.
Patrí sem napríklad:
Pôvodné učivo uvádza nad hardvérom BIOS – Basic Input/Output System.
BIOS bol tradičný firmvér počítača, ktorý pri zapnutí:
V moderných počítačoch bol klasický BIOS vo veľkej miere nahradený systémom:
UEFI – Unified Extensible Firmware Interface
Preto je dnes presnejšie hovoriť o vrstve firmvéru UEFI, hoci výraz BIOS sa stále používa aj neformálne.
Nad hardvérom a firmvérom pracuje jadro operačného systému.
Jadro riadi základné systémové zdroje a vytvára kontrolované rozhranie medzi hardvérom a vyššími vrstvami softvéru.
Nad jadrom sa nachádzajú ďalšie časti operačného systému, napríklad:
Tieto služby poskytujú pohodlnejšie rozhranie pre aplikácie aj používateľa.
Na najvyššej softvérovej úrovni bežia používateľské aplikácie.
Napríklad:
Aplikácie využívajú služby operačného systému namiesto toho, aby samy priamo riadili všetok hardvér.
| Vrstva | Príklady | Úloha |
|---|---|---|
| Aplikácie | Prehliadač, Word, hry | Plnia úlohy používateľa |
| Systémové prostredie | GUI, shell, služby, knižnice | Poskytuje služby aplikáciám a používateľovi |
| Jadro a ovládače | Kernel, drivery | Riadenie hardvéru a systémových zdrojov |
| Firmvér | UEFI, historicky BIOS | Inicializácia hardvéru a štart systému |
| Hardvér | CPU, RAM, SSD, GPU | Fyzické vykonávanie operácií |
Paket je jednotka údajov používaná pri prenose dát v paketových počítačových sieťach.
Veľké množstvo údajov sa pri prenose spravidla neposiela ako jeden obrovský celok. Dáta sa rozdelia na menšie časti, ku ktorým sa doplnia riadiace informácie potrebné na ich doručenie.
Zjednodušene:
údaje + riadiace informácie = prenášaná dátová jednotka
Rozdelenie dát na menšie jednotky má viacero výhod:
Internet je založený na princípe paketového prepínania – packet switching.
Dáta sa rozdelia na pakety a sieťové zariadenia ich postupne prenášajú k cieľu.
Jednotlivé pakety jedného prenosu nemusia v každej situácii prejsť úplne rovnakou trasou. Smerovanie môže závisieť napríklad od:
Sieťová dátová jednotka sa typicky skladá z:
Hlavička obsahuje informácie potrebné na spracovanie a doručenie dát.
Môžu medzi ne patriť napríklad:
Payload predstavuje samotné prenášané používateľské alebo aplikačné údaje.
Môže ísť napríklad o časť:
V bežnej reči sa výraz paket často používa všeobecne pre prenášané dáta. Pri presnejšom sieťovom názvosloví sa však názov dátovej jednotky mení podľa vrstvy protokolu.
| Vrstva | Príklad protokolu | Dátová jednotka |
|---|---|---|
| Aplikačná | HTTP, DNS | Dáta / správa |
| Transportná | TCP | Segment |
| Transportná | UDP | Datagram |
| Sieťová | IP | Paket / datagram |
| Linková | Ethernet | Rámec – frame |
Pri odosielaní dát jednotlivé sieťové vrstvy postupne pridávajú vlastné riadiace informácie.
Zjednodušene:
aplikačné dáta
↓
TCP segment alebo UDP datagram
↓
IP paket
↓
ethernetový rámec
↓
bity prenesené médiom
Tento proces označujeme ako zapuzdrenie – encapsulation.
Na prijímacej strane sa jednotlivé hlavičky postupne odstránia a dáta sa odovzdajú príslušnej aplikácii.
Moderný IP paket má presne definovanú hlavičku. Pri IPv4 obsahuje napríklad:
IP paket obsahuje:
Smerovače používajú cieľovú IP adresu na rozhodnutie, kam majú paket poslať ďalej.
Pôvodný materiál spomína riadiacu hodnotu obsahujúcu počet smerovačov, ktoré paket prešiel. V protokole IPv4 sa používa pole:
TTL – Time To Live
Jeho význam je presnejšie opačný – obmedzuje, koľko ďalších smerovacích krokov môže paket absolvovať.
Pri každom prechode cez smerovač sa hodnota TTL zníži.
Ak dosiahne nulu, smerovač paket zahodí.
Tým sa zabraňuje tomu, aby chybným smerovaním pakety nekonečne krúžili v sieti.
V protokole IPv6 sa obdobná hodnota označuje presnejšie ako:
Hop Limit
Kontrolný súčet – checksum je hodnota používaná na odhalenie niektorých chýb vzniknutých pri prenose alebo spracovaní dát.
Pri IPv4 obsahuje IP hlavička kontrolný súčet svojej hlavičky.
Na ďalších vrstvách môžu vlastné mechanizmy kontroly používať napríklad:
Preto nie je presné hovoriť o jednom univerzálnom kontrolnom súčte spoločnom pre každý paket bez ohľadu na použitý protokol.
Ak aplikácia používa protokol TCP – Transmission Control Protocol, transportná vrstva vytvorí TCP segment.
Jeho hlavička môže obsahovať napríklad:
Port pomáha určiť, ktorej sieťovej aplikácii alebo službe má operačný systém doručiť prijaté údaje.
Príklady známych portov:
Preto údaj, ktorý starší materiál opisuje ako „číslo aplikácie“, dnes presnejšie vysvetľujeme najmä pomocou čísel transportných portov.
Pred fyzickým odoslaním cez ethernetovú lokálnu sieť sa IP paket vloží do ethernetového rámca.
Rámec obsahuje napríklad:
IP adresa je logická sieťová adresa používaná na smerovanie paketov medzi sieťami.
MAC adresa je identifikátor sieťového rozhrania používaný najmä na linkovej vrstve v rámci lokálneho segmentu siete.
| IP adresa | MAC adresa |
|---|---|
| Sieťová vrstva | Linková vrstva |
| Používa sa na smerovanie medzi sieťami | Používa sa pri doručovaní rámca v lokálnej sieti |
| Môže sa meniť podľa siete | Je spojená so sieťovým rozhraním, hoci môže byť softvérovo zmenená alebo randomizovaná |
Keď IP paket príde na smerovač:
IP paket teda môže prechádzať cez viacero smerovačov, zatiaľ čo linkové rámce sa na jednotlivých úsekoch siete môžu meniť.
Pri prenose môže dôjsť k tomu, že niektorý paket:
To, ako sa takáto situácia vyrieši, závisí od použitého transportného protokolu.
TCP poskytuje mechanizmy na spoľahlivý prenos údajov.
Dokáže napríklad:
UDP – User Datagram Protocol je jednoduchší transportný protokol.
Štandardne neposkytuje rovnaké potvrdenie doručenia a opakované odosielanie ako TCP.
Má však menšiu režijnú záťaž a nízku latenciu, preto je vhodný napríklad pre niektoré:
Keď používateľ otvorí webovú stránku, zjednodušene sa môže stať:
| Úroveň | Príklad informácií |
|---|---|
| Aplikačná | HTTP požiadavka alebo iné používateľské dáta |
| TCP / UDP | Zdrojový a cieľový port, riadiace údaje |
| IP | Zdrojová a cieľová IP adresa, TTL / Hop Limit |
| Ethernet / Wi-Fi | Linkové adresy a kontrola rámca |
| Fyzická vrstva | Elektrické, optické alebo rádiové signály |