HTML

HyperText Markup Language (HTML, hypertekstmarkeringsspråk) er et markeringsspråk for formatering av nettsider med hypertekst og annen informasjon som kan vises i en nettleser. HTML benyttes til å strukturere informasjon – angi noe tekst som overskrifter, avsnitt, lister og så videre – og kan, i en viss grad, brukes til å beskrive utseende og semantikk i et dokument. HTMLs grammatiske struktur er HTML DTD som ble skapt ved å gjøre bruk av SGML syntaks, som er en internasjonal standard for tekstformatering (ISO 8879). 
HTML ble opprinnelig definert i 1989 av Tim Berners-Lee og Robert Caillau og videreutviklet av IETF og er nå en internasjonal standard (ISO/IEC 15445:2000). Siden har HTML-spesifikasjonene blitt opprettholdt av World Wide Web Consortium (W3C).
Tidlige versjoner av HTML ble definert med løsere syntaktiske regler som gjorde læring av bruken enkel for dem som ikke var vant med publisering på verdensveven. Nettleserne foretok gjerne sine egne antakelser om hvordan koden skulle forstås og skapte bildet av nettsiden. Utviklingen har riktignok gått mer i retning av striktere språklig syntaks, men fremdeles forventes nettlesere å produsere leservennlige sider selv om HTML-koden de er skrevet i er langt fra å etterleve gjeldende standarder.
XHTML påtvinger HTML de striktere XML-reglene for å gjøre det enklere å prosessere og vedlikehold og er W3Cs etterfølger til HTML-standarden. Av den grunn ser mange på XHTML som den «nyeste versjonen» av HTML, men i virkeligheten er dette en egen, parallell standard. W3C anbefaler at man bruker enten XHTML 1.1, XHTML 1.0, eller HTML 4.01 når man lager nettsider.

Historie

Konseptet bak hypertekst stammer helt fra middelalderen, da det ble utviklet et system for kryssreferanser. Hypertekst
refererer i dag ikke overraskende til lenker, men «hyper» omfatter også at man kan legge inn «lenker» til filer med grafikk og bilder som nettleseren laster inn i dokumentet som om det var en integrert del. I 1940-årene skrev Vannevar Bush artikkelen As We May Think, der han beskrev et datamaskin-drevet hypertekstsystem han kalte memex. Det var starten. Utover 1960-tallet, da datamaskiner begynte å bli vanligere, ble det gjort flere forsøk på å lage et slikt system som var praktisk å bruke. Første gang et slikt system ble laget, slik vi kjenner det, var i 1989, da HTML ble utviklet primært for å utveksle informasjon ved CERN. Systemet ble etter hvert populært rundt om på andre universiteter, og resten er historie.

Teknikk

HTML utveksles mellom maskiner gjennom et sett datamaskininstruksjoner kalt HyperText Transfer Protocol, HTTP. HTTP kan sammenliknes med sosiale regler (hva vi skal si når) på samme måte som HTML kan sammenliknes med et språk (hvordan vi sier det vi sier).
HTML-spesifikasjonen utvikles i offentlige fora ved World Wide Web Consortium (W3C), en medlemsorganisasjon som har som mål å jobbe for et samlet Internett. Organisasjonen består av representanter fra forskjellige selskaper, som alle publiserer innhold (f.eks. nettsider) eller utvikler programvare som brukes på Internett, slik som nettlesere og vevtjenere. Av norske medlemmer kan Opera Software og NRK nevnes. Spesifikasjonen for HTML legges ut i flere skisser (drafts) før den endelig vedtas. Denne prosessen tar gjerne langt over et år, og diskuteres grundig (og ofte høylytt) av alle interesserte i mellomtiden.
Et HTML-dokument består av en rekke elementer, avgrenset av tagger, med forskjellige betydninger. Ved å «tagge» informasjonen man vil publisere, får man et HTML-dokument som kan legges ut på Internett (en nettside) og leses av en nettleser, som tolker de ulike elementene. Dokumentet vises så formatert i henhold til elementenes betydning. Elementene kan også hjelpe f.eks. søkemotorer med å forstå hvilken del av dokumentet som er tittelen, hva som er sitater osv.
De fleste HTML-dokumenter inneholder blant annet:
<html>
<head>
    <title></title>
</head>
<body>

</body>
</html>
Det er også vanlig at <head></head>-seksjonen inneholder metadata. Innholdet i slike metatagger er i hovedsak innhold som skal fanges opp av søkemotorer.
Et element åpnes med en starttagg, <element>, og lukkes med en sluttagg, </element>. Man trenger ikke å lukke samtlige elementer, da de fleste nettlesere forstår hvor de fleste lukkes likevel. Det er likevel sterkt anbefalt av W3C å lukke elementene, da dette gjør arbeidet med å tolke dokumentet enklere både for mennesker og programmer. XHTML-standarden sier at man må lukke alle elementer. Et element kan ha forskjellige attributter som beskriver enkelte egenskaper ved det. På mange av elementene er det med attributter mulig å angi bakgrunn, farge o.l., men siden HTML-standarden i utgangspunktet ikke tok høyde for visuelle uttrykk, har man utviklet et nytt språk for dette, kalt Cascading Style Sheets, som åpner for mer fleksible visuelle uttrykk.

HTML 1.0

Dette er den versjonen av HTML som Tim Berners-Lee og Robert Caillau utviklet i 1991. Denne versjonen inneholdt bare grunnleggende elementer for tekststrukturering. De fleste av disse er i dag utgått eller har blitt forandret.

HTML 2.0

Dette er HTML 1.0 med noen få ekstra elementer.

HTML +

Etter HTML 2.0 kom det mange forskjellige miljøer med egne versjoner av HTML, noe som førte til vanskeligheter med å lese dokumentene med mindre man hadde de rette programmene. HTML + var ment å være en fornyelse og forbedring av HTML-språket som alle kunne lese. Det ble laget støtte for tabeller, og strukturen i dokumentet ble formalisert. Det var på dette stadiet at dokumentene begynte å se ut som beskrevet ovenfor. HTML + ble foreslått av Dave Ragget i 1993, men ble aldri tatt opp som formell standard.

HTML 3.2

Ingen av nettleserprodusentene implementerte alt av HTML 3.0 eller HTML +, så man hoppet rett på versjon 3.2 som bare tok opp i seg de viktigste delene av det de forskjellige produsentene allerede hadde laget, HTML 3.0 og HTML +. Mange elementer ble dermed ofret. HTML 3.2 er i all hovedsak grunnlaget for HTML slik vi kjenner det i dag.

XHTML 1.0

I all hovedsak HTML 4, men med strengere syntaktiske regler (lukke alle elementer etc.). Ordet er en sammenføyning av HTML og XML. Grunnen til at man vil ha reglene så strenge er blant annet at utbredelsen av såkalte WYSIWYG-programmer, som har gjort det lettere å lage internettsider, har ført til mer rot og flere sider som ikke følger standardene. En annen grunn er at sider som følger de rigide, men ryddige reglene blir lettere å lese for små datamaskiner, som for eksempel PDA-er og Mobiltelefoner.

HTML5

HTML5 er lansert og tok over for HTML4 i oktober 2014. Et av hovedmålene til HTML5 er å minimere behovet for webapplikasjoner som Adobe Flash, QuickTime og Silverlight. HTML5 vil også ha bedre støtte for mobiltjenester som geolokasjon og lokasjonsbaserte tjenester, i tillegg til nyere åpne formater som skalerbar vektorgrafikk. 
HTML5 ble godkjent som en W3C Recommendation 28. oktober 2014.

XHTML5

XHTML5 utvikles parallelt med HTML5 og vil erstatte XHTML 1.0.