1 Tvorba internetových stránek Jazyk HTML2 Stránky www nejpoužívanější služba internetu: WWW World wide web služba poskytuje (zpřístupňuje) hypertexto...
WWW World wide web • služba poskytuje (zpřístupňuje) hypertextové dokumenty (= internetové stránky)
• dokumenty jsou přenášeny aplikačním protokolem http (hypertext transfer protocol) - standardní port 80 • identifikují se pomocí URL – Uniform Resources Locator "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
• dokumenty jsou zapsány v jazyce HTML (Hypertext Markup Language)
Vznik www a html • www a html vytvořen na půdě CERNu v letech 1989-90 – Tim Berners-Lee
• účel: – infrastruktura pro sdílení výsledků vědeckých výzkumů
• prvotní implementace prohlížeče a editoru pro OS Next Step
• tato verze HTML byla později označena jako HTML 0.9 (vydána 1991) • umožňovala: – členění textu do několika logických úrovní – použití několika druhů zvýraznění textu – zařazení odkazů a obrázků do textu – nepodporovala grafický režim
• první formální specifikace byla vydána jako HTML 2.0
Verze HTML • • • • • • • •
HTML 2.0 HTML 3.0 HTML 3.2 HTML 4.0 HTML 4.01 XHTML 1.0, XHTML 2.0 HTML 5 sémantický web - HTML + RDF
HTML 2.0 • 1994 • RFC 1866 • Level 1 – drobné rozšíření předchozí verze – základní formátování a strukturování dokumentu, obrázky, formuláře
• Level 2 – doplňuje práci s formuláři
HTML 3.0 • 1995 • ambiciózní návrh – matematické vzorce, tabulky, obtékání obrázků, styly dokumentů
• nikdy nebylo přijato výrobci jako standard, protože bylo příliš složité – kompletní podporu nabízel pouze experimentální prohlížeč Arena (pro UNIX) – výrobci sw nebyli schopni naprogramovat plnou podporu
• důsledek: – výrobci prohlížečů přidávají svá nestandardní rozšíření HTML – konsorcium W3C1 (World Wide Web Consorcium) proto vybírá společnou podmnožinu rozšíření, které přidá k HTML 2.0 a schvaluje HTML 3.2 • co je implementováno v prohlížečích
• především lepší možnosti formátování dokumentu 1
http://www.w3c.org
HTML 3.2 • návrh z r. 1996, vydána 1997 • rysy: – tabulky – „lepší“ možnosti formátování dokumentu (volnější výběr použitých druhů písma) – podpora appletů v jazyce JAVA
HTML 4.0 • 1997 • vlastnosti – podpora kaskádových stylů (CSS) – skripty vložené do stránky – multimediální objekty – rozšířené možnosti tabulek – podpora více jazyků, tok textu – rozšíření formulářů – rámy
HTML 4.01 • prosinec 1999 • opravy drobných chyb ve specifikaci HTML 4.0 • po ní se mělo přejít na XHTML
XHTML 1.0, 1.1 • elementy jsou běžné elementy HTML • dokument musí mít vlastnosti XML – zápis značek a atributů malými písmeny, hodnoty atributů v uvozovkách, všechny značky párové, (event. nepárové značky označeny ), nesmějí se křížit, …
• existují tři specifikace (DTD) – Strict – pro XHTML dokumenty bez prezentačních a formátovacích značek – Transitional – pro všechny stránky – Frameset – pro stránky s rámy
• na půdě W3C pracovní skupina XHTML vyvíjela verzi jazyka XHTML 2.0, – měla zajímavé vlastnosti bohužel – cena: porušení kompatibility s předchozími verzemi jazyka HTML a XHTML – důsledek: • prohlížeče stále podporují HTML 4.0 a XHTML 1.0 • W3C: XHTML 2.0 je slepá cesta • 2007: vývoj HTML 5
HTML 5 • • • •
práce na specifikaci zahájeny 2004 pracovní skupina 2007 poslední změny z 28.5.2013 nové elementy pro sémantické vyznačení částí dokumentu, strukturování – hlava, pata, část stránky sloužící pro zobrazení navigačních odkazů, boční panel stránky – programátorem definovaná část stránky na webu – část stránky obsahující nějaký text
HTML 5 • nové elementy pro vkládání audio a video objektů (SVG), podpora offline aplikací, grafiky, MathML
RDF • Resource Description Framework • specifikace z r. 2012 • metadatový model pro popis vlastností u sémantického webu
Protokol HTTP • aktuální verze HTTP/1.1 – HTTP 1.0 bezestavový – HTTP 1.1 s udržovaným spojením
• RFC 2616, zastarává RFC 2068 • protokol nese kromě „datového obsahu“ informace o typu obsahu, kódování znaků (jazyk), MIME, prohlížeč
Protokol HTTP Hlavička Tělo
HTTP • textový protokol typu request/response – v hlavičce jsou identifikovány pouze dva typy zpráv: request/responce
• jak zpracovat požadavek je definován metodou („příkazem“) – je definováno 8 metod (OPTION, GET, POST, PUT, DELETE, …)
Protokol HTTP • OPTION – dotaz na parametry komunikace
• GET – vyzvednutí obsahu identifikovaném URL
• PUT – uložení přiloženého obsahu na identifikované URL
• POST – předání dat podle URL, např. parametrů spuštěnému skriptu (CGI), připojení dat do databáze, apod.
Protokol HTTP
Stránky HTML • statické – jsou kompletně uloženy na serveru v podobě, jak se zobrazují
• dynamicky generované – stránka je vytvořena na serveru dynamicky před odesláním klientovi, např. na základě dotazu klienta z dat v databázi • • • •
CGI, PHP Servlety, JSP ASP.NET
Serverová řešení LAMP • • • •
Linux http server Apache databáze MySQL skriptovací jazyk PHP, Perl nebo Python
•
výhoda: freewareové řešení
Serverová řešení WINS • • • •
MS Windows Server http server IIS (Internet Information Server) .NET MS SQL Server
Apache 2 • • • •
volně šířitelný www server http://httpd.apache.org/ nejnovější verze 2.4.6 ke stažení jak ve formě zdrojového kódu – httpd-2.4.6.tar.bz2
• tak ve formě "hotové" instalace (Win)
Apache 2 – překlad a instalace 1. konfigurace – spuštění konfiguračního skriptu ./configure ./configure –help – výpis parametrů
2. překlad make
3. instalace make install
HTML • html dokument = „obyčejný“ textový soubor – přípona .htm, .html
• text je doplněn o formátovací značky tagy – značka určuje význam textu, kterým je uvozen – značka zpravidla určuje i způsob zobrazení v prohlížeči
Tag (značka) • uzavřen mezi znaky „< ” a „>”, např.
, nezáleží na velikosti písmen • tagy jsou nepárové ( ) a párové • párový tag: <>, > - má „otevírací“ a „uzavírající“ část (ohraničují blok textu)
,
– část dokumentu ohraničená párovými značkami se nazývá element (včetně značek)
• „uzavírající“ část je někdy nepovinná
• export z produktů MS-Office • nezáleží na velikosti písmen značky • součástí značky může být hodnota nějakého doplňkového parametru, např.:
Možnosti tvorby HTML stránek • pro „specialisty“ - textový editor typu Notepad, PSPad, XML editor, píše se přímo kód • pomocné nástroje, kde se píše text „jako ve Wordu“- výstupem je html dokument; možnost upravovat kód -, Microsoft Front Page, různé freewarové editory (WebEditor)
• vývojová prostředí internetových aplikací – JAVA NetBeans – Microsoft .NET Framework
• webové aplikace pro tvorbu webových stránek – vizualizační nástroj – snadná tvorba – není nutnost znát jazyk HTML – jednotný vzhled stránek
• export z jiných produktů (MS Office)
Základní struktura HTML dokumentu Začátek hlavičky dokumentu <TITLE> Titulek, který se objeví v titulku okna klienta Konec hlavičky dokumentu Začátek vlastního těla dokumentu ... vlastní obsah stránky ... Konec těla dokumentu
• pokud bychom chtěli být důslední, tak první řádek dle specifikace 4.01 by měl obsahovat odkaz na DTD, např.:
DTD • Document Type Definition – definice pravidel pro každou verzi jazyka – definuje elementy a atributy, které lze používat
Sekce • specifikace některých parametrů dokumentu • např.: – specifikace základní URL adresy – meta informace <meta http-equiv="content-type" content="text/html;charset=UTF-8" keyword="automat">
Poznámka: • ve verzi 5 se zjednodušil odkaz na kódování dokumentu a jazyk <meta charset= "UTF-8">
Sekce • vlastní obsah dokumentu • má několik parametrů, které specifikují vlastnosti zobrazení pro celý dokument: – BGCOLOR="barva" - barva pozadí – TEXT="barva" - barva textu – BACKGROUND="zdroj" - URL obrázku na pozadí
• např.: –
Specifikace barev • slovně, jako jedna z předdefinovaných barev (např. Black), nebo ve formátu RGB pomocí šestnáctkového čísla • číselná specifikace - určuje intenzitu každé složky v rozsahu 00h-FFh, tj. 0 255.
Formátování dokumentu • původní myšlenka: – značky označují pouze logické členění textu,
proto: • detaily formátování jsou věcí prohlížeče: – ignorují se konce řádek (jsou převedeny na mezeru) – více mezer za sebou je nahrazeno mezerou jedinou – text je zalomen tak, aby se vešel do okna prohlížeče
Příklad: <TITLE> První stránka První věta. Druhá věta. Třetí věta.
Výsledek:
Značky pro zalamování textu •
- nový odstavec – ukončující tag není povinný
• - nový řádek (zalomení) Příklad:
Dnes máme přednášku na BIVŠ.
Kontakt na mne: Vít Fábera Fakulta dopravní ČVUT Konviktská 20, Praha 1
Výsledek: Dnes máme přednášku na BIVŠ. Kontakt na mne: Vít Fábera Fakulta dopravní ČVUT Konviktská 20, Praha 1
•
,
– text uvozený těmito značkami je oddělen od ostatního textu malou vertikální mezerou a odsazen – používá se např. pro začlenění delších citací apod.
Příklad: Booleova algebra je definována:
Booleova algebra je asociativní, distributivní, komutativní a komplementární svaz s binárními operacemi logického součtu, logického součinu a unární operací negace, resp. inverze, s proměnnými a s konstantami 0, 1.
Vysvětlíme ještě pojmy uvedené v definici.
Výsledek: Booleova algebra je definována: Booleova algebra je asociativní, distributivní, komutativní a komplementární svaz s binárními operacemi logického součtu, logického součinu a unární operací negace, resp. inverze, s proměnnými a s konstantami 0, 1. Vysvětlíme ještě pojmy uvedené v definici.
Vytváření nadpisů • párová značka Text nadpisu – n je úroveň nadpisu 1 – 6 • úroveň 1 je nejvyšší
– vyšší úrovně bývají zobrazeny větším a silnějším typem písma
Poznámka: – pátá a šestá úroveň bývá zobrazena již malým typem písma, nedoporučuje se používat
Příklad:
Nadpis 1. úrovně
Nadpis 2. úrovně
Nadpis 3. úrovně
Nadpis 4. úrovně
Nadpis 5. úrovně
Nadpis 6. úrovně
Výsledek:
Poznámka: Nadpis první úrovně bývá zvykem oddělit horizontální linkou .
Typy písma Značky umožňující změnu typu písma dělíme na značky pro: • logické vyznačování – označují část textu podle významu (druhu informace) - zvýrazněný text, definice, citace – každému „významu“ je přiřazen určitý typ písma (v určitém systému)
• fyzické vyznačování – určují přímo typ písma (tučné, kurzíva, podtržené)
Značky pro logické vyznačování textu
citace, označování názvů knih,… zobrazován jako kurzíva
ukázka kódu nějakého programu (jednořádková, pro víceřádkové se používá značka
) zobrazován neproporcionálním písmem
<EM>
zvýraznění fráze zobrazován jako kurzíva
vyznačení textu, který je zadáván uživatelem (lze využít v např. v uživatelských příručkách) zobrazován neproporcionálním písmem
<SAMP>
zápis výstupu z různých programů a skriptů zobrazován neproporcionálním písmem
<STRONG>
silné zvýraznění textu zobrazován jako tučné písmo
označení proměnných zobrazován jako kurzíva
vyznačení termín, který je právě definován zobrazován jako kurzíva
vyznačení adresy; ve většině prohlížečů se zobrazení nemění, někdy bývá zobrazena jako kurzíva
Značky pro fyzické vyznačování textu tučné písmo kurzíva neproporcionální podtržené písmo <STRIKE> přeškrtnuté písmo větší písmo <SMALL> menší písmo dolní index <SUB> horní index <SUP>
písmo
Příklad: Líh (ethanol) patří mezi alkoholy. Jeho chemická značka je C<SUB>2 H<SUB>5 OH.
Výsledek: Líh (ethanol) patří mezi alkoholy. Jeho chemická značka je C2H5OH.
Poznámka: • značky pro vyznačování textu se nemají křížit • nestandardní značka