A HTML (angolul: HyperText Markup Language, „hiperszöveges jelölőnyelv”) egy leíró nyelv, melyet weboldalak készítéséhez fejlesztettek ki, és mára már internetes szabvánnyá vált a W3C (World Wide Web Consortium) támogatásával.
Az aktuális változata az 5, mely az SGML általános jelölőnyelv egy konkrét alkalmazása (azaz minden 5-ös HTML dokumentum egyben az SGML dokumentumszabványnak is meg kell hogy feleljen). Ezt tervek szerint lassan kiszorította volna az XHTML, amely a szintén SGML alapú XML leíró nyelven alapul, de még csak kevés weboldal használja.
HTML (HyperText Markup Language) | |
Fájlkiterjesztés | .html, .htm |
MIME-típus | text/html |
Fejlesztő | World Wide Web Consortium & WHATWG |
Kiadás dátuma | 1993 |
Formátum típusa | Jelölőnyelv |
Kiterjesztése ennek | SGML |
Kiterjesztése ez | XHTML |
Mac OS típuskód | TEXT |
Uniform | public.html |
Standard | ISO/IEC 15445 W3C HTML 4.01 W3C HTML5 (draft) |
Weboldal | html.spec.whatwg.org/multipage/ |
HTML általában szöveges állományokban található meg olyan számítógépeken, melyek az internethez kapcsolódnak. Ezek az állományok tartalmazzák azokat a szimbólumokat, amelyek a megjelenítő programnak leírják, hogyan is kell megjeleníteni illetve feldolgozni az adott állomány tartalmát. Megjelenítő program lehet egy webböngésző (angolul: web browser), aural böngésző (olyan, amelyik a felhasználónak felolvassa a megjelenítendő szöveget), braille olvasó, amely konvertálja a szöveget braille „formátumba”, levelező program (mint például: Mozilla Thunderbird, Microsoft Outlook, Eudora, Claws Mail stb.), valamint egyéb eszközök, például mobiltelefon.
Négyfajta szimbólum (leíró elem) található meg a HTML-ben:
Wiki
a Wiki szót mint egy kapcsolatot (angol szóval: link) a megadott URL-hez jeleníti megEgy HTML állomány három fő részre bontható:
, ami technikai és dokumentációs adatokat tartalmaz, amelyeket az internet böngésző nem jelenít meg, tehát átlag felhasználó ezeket nem látja és
, amely a megjelenítendő információkat tartalmazza.Tehát egy internetes oldal alapszerkezete a következőképpen nézhet ki:
<html> <head> <title>Fent lévő címsortitle> <style> h1 { color: #478a9e; } style> head> <body> <h1> Hello Világ! h1> <p> Üdvözöllek a weboldalon! p> body> html>
Egy HTML dokumentum alapértelmezésként ISO-8859-1, azaz nyugat-európai kódolást használ. Gyakran előforduló hiba szokott lenni, hogy nincs beállítva a charset
paraméter a fejléc content
attribútumában, annak ellenére, hogy a dokumentum nem nyugat-európai kódolású szöveget tartalmaz. Magyar nyelvű oldalak esetén ilyenkor gyakran az „ő” és „ű” betűk helyett „õ” és „û” karaktereket látunk (ekkor valószínűleg "ISO-8859-2" vagy "windows-1250" volna a helyes charset
érték), de az is lehet, hogy minden ékezetes betű teljesen olvashatatlanná válik, betűszemetet eredményezve (ha például a megjelenítendő szöveg UTF-8 kódolású). A charset
paraméter értékeként több száz kódolás és érvényes alternatív név (alias) megadható.
Akármilyen kódolást használ is egy HTML dokumentum, bármilyen Unicode karakter megjeleníthető a szövegben annak UCS kódjával „” és „;” jelek között. Például a magyar kis „ő” betű UCS kódja a decimális 337 (vagy hexadecimális 151), ezért függetlenül a használt kódolástól, a HTML dokumentumban elhelyezett ő
vagy ő
mindig az „ő” betűt fogja megjeleníteni.
Az SGML számos Unicode karakterhez definiál egyedi megnevezéseket, azonban a HTML a lehetséges SGML egyedeknek csak egy részét használja (a használt egyedeket a dokumentum Dokumentumtípus-definíciójában kell megadni, és a HTML 4.01-es verziójáig ez nem tartalmazza a közép-európai karaktereket). Emiatt a magyar ékezetes karakterek közül is csak azokra lehetséges SGML egyedhivatkozást megadni, amelyek a nyugat-európai kódkészletben is megtalálhatók. Vagyis hiába definiálja az SGML például „ő” betűhöz az „odblac” nevet, hivatalosan azt egy böngészőnek nem kell tudnia megjeleníteni egy 4.01-es HTML dokumentum esetén.
Az egyedek neveire az „&” és „;” jelek között hivatkozhatunk, így például az é
a kis „é” betűt jeleníti meg.
Az XHTML a HTML megfogalmazása XML-ben (a HTML SGML-ben van definiálva). Gyakorlatilag nincs jelentős eltérés a két nyelv között, csak a formai követelmények lettek szigorúbbak: