Způsob komunikace mezi klientem a webovým serverem pro přenos informací, souborů, dat, dokumentů na základě principu dotaz-odpověď.
Klient je např. webový prohlížeč, počítačový program, mobilní aplikace, ...
Server na internetu je např. nějaký veřejně přístupný počítač. V případě statického webu se na serveru ukládá nějaká struktura statických souborů.
Klient posílá dotaz (požadavek, request) na soubor (zdroj, prostředky, resource) a server ho vrátí jako odpověď (response).
V každém dotazu je více informací, např. URL, který určuje mimojiné umístění požadovaného souboru anebo způsob nalezení požadovaných dat - to aby server věděl, jak dotaz vyřídit.
Webový prohlížeč po získání potřebných souborů (především HTML dokument, CSS, obrázky, JavaScript) začne interpretovat, webová stránka se zobrazuje a uživatel může s ní interagovat.
HTML
HyperText Markup Language
značkovací jazyk pro tvorbu webových stránek, tj. HTML dokumentů
obsah stránky anotujeme pomocí HTML značek (HTML tagů), tím mu dáváme význam a vytváříme jeho strukturu.
Editor + Prohlížeč
vytvořte složku a pojmenujte ji vaším xname
tuto složku otevřete v editoru zdrojového kódu
vedle editoru si spusťte prohlížeč, abyste viděli náhled vaší stránky
První HTML soubor
v editoru si vytvořte složku cv01
ve složce cv01 si vytvořte soubor index.html (HTML soubor má příponu .html, zobrazení přípony souboru ve Windows si nastavte v nastavení složek)
index.html je naše domovská stránka
tento soubor otevřete v prohlížeči
Doporučená struktura složek na cvičeních i na serveru eso
použití tagu <a> (anchor - kotva) a atributu href a target
pomocí tohoto tagu vytváříme navigaci pro náš web nebo odkazy na jiný web
<ahref="https://www.google.com">Odkaz na google.com</a><ahref="https://www.google.com" target="_blank">Odkaz na google.com - otevřít v novém okně</a><ahref="//www.google.com" target="_blank">Odkaz na google.com bez specifikace protokolu</a><ahref="/~xname/">Odkaz domovskou stránku</a><ahref="/~xname/">Odkaz domovskou stránku</a><ahref="/~xname/contact/">Odkaz stránku contact v domovském adresáři</a><ahref="/~xname/products/">Odkaz stránku products v domovském adresáři</a><ahref="/~xname/posts/2020-09-27/">Odkaz stránku 2020-09-27 v adresáři post, který je pod domovským adresářem</a><ahref="2020-09-26">Odkaz stránku 2020-09-26 ve stejném adresáři, ve kterém se nachází současná stránka</a><ahref="./2020-09-26">Odkaz stránku 2020-09-26 ve stejném adresáři, ve kterém se nachází současná stránka</a><ahref="../2020-09-26">Odkaz stránku 2020-09-26 v nadřazeném adresáři</a><ahref="../../2020-09-26">Odkaz stránku 2020-09-26 v adresáři, který se nachází o dva stupně výše</a>
Absolutní odkazy vs relativní odkazy
absolutní odkazy obsahuje celou adresu protokol + doména + cesta
relativní odkazy obsahuje cestu k jiné stránce v rámci webu
je potřeba dbát na kontext, tj. to že vám funguje lokálně neznamená, že bude fungovat i na serveru
proto je nejbezpečnější používat relativní odkazy - tím zajistíme funkčnost webu v případě migrace na jiný server
typy metadat: autor, klíčová slova, popis, verze, ...
do tagu <head> napíšeme tag <meta>
atributy:
name - "description", "keywords"
content - hodnota
<metaname="keywords" content="school, web development, programming"><metaname="author" content="Nguyen Viet Bach"><metaname="description" content="This page is about something awesome!">
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport" content="width=device-width, initial-scale=1.0"><metaname="keywords" content="school, web development, programming"><metaname="author" content="Nguyen Viet Bach"><metaname="description" content="This page is about something awesome!"><title>Document</title></head><body></body></html>
Optimalizace obrázků
zmenšování rozměru - např. je nesmyslné používat obrázek 4000x5000 na obrazovce 1366x786
pokud má obrázek velké rozměry, v image editoru (Malování) ho zmenšete na max. 1920x1080 a poté ho optimalizujte v kompresoru (bezeztrátová komprese):
<h2id="chapter-01">Chapter 01</h2>
...
<ahref="#chapter-01">Jump to Chapter 01</a>
E-mailový odkaz
<!-- otevře defaultní mailbox ve Vašem OS a založí nový e-mail určený uvedenému přijemcovi --><ahref="mailto:[email protected]">Email me!</a><!-- přihodíme ještě předmět e-mailu --><ahref="mailto:[email protected]?subject=Hello%20Jim">Email me!</a><!-- přihodíme i tělo zprávy --><ahref="mailto:[email protected]?subject=Hello%20Jim&body=Greetings">Email me!</a>
Atributy id a class
id - unikátní identifikátor elementu
class - název třídy elementu - pro výběr elementů v CSS
používejte smysluplné anglické pojmy, tj. ne id="x-1", id="x-2", ale třeba id="navigator", id="main-menu"
oddělit slova pomocí pomlčky, např. id="remote-control", class="sale-item"
hodnota atributu id je unikátní v rámci dokumentu - nesmí se opakovat na více místech
hodnota atributu class není unikátní a může se opakovat
<articleclass="article" id="article-01"><h2class="article-heading">Lorem ipsum...</p><pclass="article-paragraph">Lorem ipsum...</p><pclass="article-paragraph">emmet lori...</p><pclass="article-paragraph">dolor sit amet...</p></article>
Domácí úkol
Vytvořte HTML5 testovací stránku /test (nezapomeňte, že /test/ je složka, v niž má být soubor index.html
stránka, kde jsou použity různé tagy: nadpisy různých úrovní, paragrafy, zvýraznění textu, odkazy, obrázky, tabulky, seznamy, semantické tagy, HTML entity, atd.
jako plnící text lze použít lorem ipsum
Vytvořte stránku obsahující několik článků blogu /blog/, včetně nadpisů
používejte sémantické tagy pro k tomu určené obsahy
jako plnící text lze použít lorem ipsum
Vytvořte stránku s životopisem nějaké známé osobnosti /resume/
můžete hledat informace o této osobě na internetu
Vytvořte domovskou stránku /
zde bude nadpis a navigace s odkazy na všechny 4 vytvořené stránky, včetně této
tuto stejnou navigaci vložte i do ostatních stránek, tak aby odkazy fungovaly na všech stránkách
vyzkoušejte navigaci proklikem na všech stránkách
Všechny stránky zvalidujte v HTML validátoru a poté přidejte odkaz pro validaci stránky do každé stránky (viz obr. níže)
Termín odevzdání
23:59:59 před dalším cvičením
Způsob odevzdání
používejte pouze plain HTML5, bez stylu CSS, bez JS
nezapomeňte zvalidovat stránky pomocí validátoru - odevzdané stránky nesmějí obsahovat chyby ani warningy
nahrát stránky na server eso.vse.cz tak, aby byly dostupné pod odkazy, viz návod