Wikisage, de vrije encyclopedie van de tweede generatie, is digitaal erfgoed

Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.

  • Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
  • Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
rel=nofollow

HTML

Uit Wikisage
Naar navigatie springen Naar zoeken springen

HyperText Markup Language (afgekort HTML) is een opmaaktaal voor de specificatie van documenten, voornamelijk bedoeld voor het World Wide Web.

Een voorbeeld van een HTML-document.

Inleiding

Hypertext en hyperlinks

De wezenlijke eigenschap van HTML is dat het hypertext ondersteunt: documenten en bestanden die verbonden zijn door direct volgbare verwijzingen, de zogenaamde hyperlinks (in het Nederlands ook wel koppelingen genoemd).

Opmaaktaal

Daarnaast is HTML een opmaaktaal zoals vele andere, met notaties voor het aangeven van nadruk in tekst, van kopjes, van indeling in paragrafen, van tabellen, en van plaatjes en multimedia (die echter zelf niet in HTML worden gespecificeerd).

HTML bestaat uit platte tekst waarin met markeringstekens is aangegeven hoe de tekst moet worden geïnterpreteerd, bijvoorbeld als lijst of als opschrift. Zo'n markering wordt (naar het Engels) een tag genoemd - er is geen goed Nederlands woord voor. HTML wordt meestal bekeken met een webbrowser, een programma dat HTML-documenten opvraagt en als opgemaakte tekst aan de gebruiker toont.

In de loop der jaren is het aantal verschillende markeringstekens (tags) dat in HTML wordt gebruikt, enorm uitgebreid. Om interpretatieproblemen te voorkomen heeft het World Wide Web Consortium (W3C) aanbevelingen opgesteld over welke tags geldig zijn en hoe ze moeten worden geïnterpreteerd. De oorspronkelijke aanbeveling is een aantal malen geactualiseerd in verband met verdere ontwikkeling van HTML. De laatst geaccepteerde aanbeveling, HTML 4.01, dateert van december 1999.

Sinds het ontstaan van HTML zijn er pogingen gedaan om het tot een exact gestructureerde taal te maken, door te eisen dat de syntaxis van de tags exact gevolgd wordt en hun combinatie aan een precieze grammaticale definitie voldoet. Dit is gedaan door de syntaxis van elke versie van HTML te beschrijven als een toepassing van SGML, en later XML. Dit is een wezenlijke voorwaarde om een uniforme interpretatie van HTML door software te kunnen garanderen. De meeste gebruikers en softwareontwikkelaars hebben zich hier nooit veel van aangetrokken, met als gevolg dat HTML-verwerkende software in de praktijk niet op het correct gebruik van tags mag rekenen, en de eindgebruiker niet op een consistente interpretatie.

Een tweede continue trend in de ontwikkeling van HTML vormden de pogingen om het tot een structurele (of logische) opmaaktaal te maken, waarbij de tags in het document alleen structuur en algemene eigenschappen van de tekst aangeven, terwijl de details van de presentatie apart van het document worden gespecificeerd. Dit heeft als voordelen dat de opmaak ineens kan worden gewijzigd voor alle documenten tegelijk en dat er verschillende manieren van opmaken kunnen worden gebruikt die bijvoorbeeld toegesneden kunnen zijn op de eigenschappen van de gebruiker (misschien kleurenblind of blind) of het weergevende apparaat (misschien een klein beeldscherm of zwart-wit-papier). Om historische redenen is dit aanvankelijk totaal mislukt, waardoor HTML een grote hoeveelheid presentatiespecifieke tags heeft gekregen, maar uiteindelijk toch doorgezet, waardoor in moderne HTML een nette scheiding van presentatiespecificatie mogelijk is, met behulp van CSS. Daarbij blijft gelden dat HTML niet ontworpen of geschikt is voor het ondersteunen van willekeurige paginavormgeving.

HTML zelf voorziet alleen in zeer eenvoudige gebruiksinteractie:

  • het aanklikken van verwijzingen
  • het invullen van tekstvelden
  • het klikken in afbeeldingen

Een min of meer gestandaardiseerde vorm om andere soorten interactie te ondersteunen is het inbedden van scripts geschreven in de taal Javascript. Daarbij blijft gelden dat HTML niet ontworpen of geschikt is voor het ondersteunen van willekeurige grafische user interfaces.

Het derde doorlopende thema in de ontwikkeling van HTML is het spanningsveld tussen innovatie en standaardisering. De concurrentiestrijd tussen producenten van webbrowsers heeft een belangrijke rol gespeeld in de ontwikkeling van HTML. Producenten ontwikkelden op eigen houtje nieuwe tags, die vaak niet door andere webbrowsers werden begrepen, hadden eigen interpretaties van stylesheets en een eigen interpretatie van JavaScript. Sommige van deze HTML-tags zijn later opgenomen in de aanbevelingen, andere niet. Ook nu nog zijn daarvan relicten te vinden in moderne browsers.

Aanbeveling versus standaard

Het W3C is een internationale organisatie maar heeft geen bevoegdheid om standaarden vast te stellen, zoals de ISO. De HTML-specificaties van het W3C zijn daarom formeel niet meer dan aanbevelingen. In de praktijk worden de W3C-aanbevelingen echter als standaarden gezien, mede omdat alle belangrijke browserfabrikanten in het W3C samenwerken.

Versies

De volgende specificaties zijn gepubliceerd van versies van HTML. Elk ervan bevat een exacte syntactische specificatie in de vorm van een SGML-toepassing. Geen ervan omvat een beschrijving van in combinatie met HTML gebruikte talen zoals Javascript of CSS.

  • HTML (gepubliceerd als IETF-'draft', juli 1993)
  • HTML 2.0 (gepubliceerd als RFC 1866, november 1995)
  • formulieren in HTML (gepubliceerd als RFC 1867, november 1995)
  • tabellen in HTML (gepubliceerd als RFC 1842, mei 1996)
  • 'client-side image maps in HTML (gepubliceerd als RFC 1980, augustus 1996)
  • internationalisatie van HTML (gepubliceerd als RFC 2070, januari 1997)
  • HTML 3.0 (gepubliceerd als IETF-'draft', april 1995), nooit algemeen geïmplementeerd in browsers
  • HTML 3.2 (gepubliceerd als W3C-aanbeveling, januari 1997), een poging om de gemeenschappelijke features in browsers te beschrijven
  • HTML 4.0 (gepubliceerd als W3C-aanbeveling, december 1997), een geactualiseerde poging, met drie versies (strict, transitional en frameset)
  • HTML 4.01 (gepubliceerd als W3C-aanbeveling, januari 1999), voor kleine verbeteringen
  • verdere errata op HTML 4.01 (gepubliceerd door W3C tot in 2001)
  • ISO/IEC 15445:2000, de publicatie van HTML 4.01 strict als ISO-standaard

Een voorstel voor HTML 5 is in ontwikkeling.

Er bestaan ook versies van HTML waarvan de syntactische specificatie niet is gebaseerd op SGML, maar op XML.

  • XHTML 1.0 (gepubliceerd als W3C-aanbeveling, januari 2000 met een revisie in augustus 2002), een bewerking van HTML 4.01 voor XML
  • XHTML 1.1 (gepubliceerd als W3C-aanbeveling, mei 2001), bevat kleine wijzigingen en ondersteunt modularisatie

In ontwikkeling zijn verder:

  • XHTML 2.0, dat niet compatibel is met XHTML 1.0
  • XHTML5, de XML-versie van HTML5

Geen van deze versies komt 100% overeen met de HTML die door specifieke versies van specifieke webbrowsers wordt ondersteund.

Andere noties van HTML:

  • C-HTML is een beperkte vorm van HTML, ontwikkeld voor gebruik op mobiele telefoons en PDA's.
  • Dynamic HTML was een marketing term van Microsoft, gebruikt ten tijde van het uitkomen van Internet Explorer 4, waarmee de combinatie van HTML en Javascript werd bedoeld.

Geschiedenis

De geschiedenis van HTML ging in de eerste jaren hand in hand met de ontwikkeling van webbrowsers. De belangrijkste spelers daarin waren de concurrerende browsers van Netscape en Microsoft (zie ook browseroorlog). Met elke uitgebrachte browserversie werd de HTML uitgebreid of aangepast. De W3C probeerde aanbevelingen vast te stellen, maar moest regelmatig constateren dat de aanbeveling waaraan gewerkt werd, inmiddels achterhaald was.

HTML werd in 1991 bedacht en ontwikkeld door Tim Berners-Lee om wetenschappelijke documenten van het CERN in Genève gemakkelijker toegankelijk te maken. De Brit baseerde zijn nieuwe opmaaktaal op het reeds bestaande SGML. Hij ontwikkelde ook de eerste webbrowser, WorldWideWeb genaamd. In 1993 werd de webbrowser Mosaic ontwikkeld door het NCSA, die als eerste grafische elementen in HTML ondersteunde. Op basis daarvan ontstond in 1994 Netscape Navigator. Met de komst van deze beide browsers werd het World Wide Web echt populair. Beide browsers voegden elementen toe aan de oorspronkelijk HTML. Kort daarop mengde Microsoft zich in de strijd met een eigen webbrowser.

De eerste officiële specificatie van HTML door de W3C organisatie was HTML 2.0, geaccepteerd in september 1995. Eerder was er gewerkt aan uitbreiding van de oorspronkelijke specificatie onder de naam HTML+ (gepubliceerd in november 1993). Al vóór de officiële acceptatie van HTML 2.0, werd de volgende specificatie (HTML 3.0) voorbereid. Deze specificatie werd achterhaald door het uitkomen van Netscape versie 3 en het voorstel werd in september 1995 verlaten. Het werk werd voortgezet in HTML versie 3.2, dat de naam "Wilbur" meekreeg. Wilbur werd geaccepteerd in januari 1997. In december 1997 werd de HTML 4.0 specificatie geaccepteerd, waarop nog enkele kleine correcties zijn aangebracht in HTML 4.01 (geaccepteerd in december 1999). In het jaar 2000 werd ISO-HTML, gebaseerd op HTML 4.01 Strict, geaccepteerd als een internationale standaard: ISO/IEC 15445:2000[1].

De verschillende specificaties zijn grotendeels backward compatible en moderne browsers kunnen documenten met oudere specificaties goed weergeven. Een aantal tags die ooit door browserproducenten zijn bedacht, zijn echter nooit in de specificaties terecht gekomen, en worden ook niet door alle moderne browsers ondersteund.

Toekomst

De HTML-4.01-specificatie was lange tijd bedoeld als de laatste specificatie van HTML. Verdere ontwikkeling van de markup-taal zou plaatsvinden in de vorm van XHTML (een subset van XML) en in de ontwikkeling van stijlbladen en JavaScript.

W3C-directeur Tim Berners-Lee zette echter in een blogposting[1] in oktober 2006 een nieuwe koers uit. Hij constateerde dat een groot deel van de webontwikkelaars en -uitgevers niet bereid was gebleken over te stappen naar X(HT)ML, en dat het daarom nodig was de ontwikkeling van HTML toch voort te zetten. Die ontwikkeling diende volgens Berners-Lee parallel te lopen aan de ontwikkeling van XHTML.

Het W3C stelde daarop in maart 2007 een nieuwe HTML Working Group in, die al in juni 2007 een Working Draft diende te kunnen presenteren. Om dit te kunnen realiseren, zou de Working Group nauw samenwerken met de WHATWG-groep[2], die uit ongenoegen over de koers van het W3C sinds 2004 werkte aan HTML 5. Volgens de planning zou in 2010 een nieuwe aanbeveling gereed kunnen zijn.

De nieuwe versie van HTML moet volgens het charter[3] onder meer voorzien in rijkere formulieren en nieuwe besturingselementen als menu's en voortgangsindicators.

Genereren van HTML-documenten

Een HTML-document kan als los document zijn opgeslagen op een opslagmedium. Dergelijke documenten hebben als extensie .htm of .html. Op het World Wide Web worden (tijdelijke) HTML-documenten vaak op verzoek van een browser gegenereerd met behulp van server-side scripting of CGI. Dergelijke pagina's hebben meestal een URL waarin een andere extensie wordt gebruikt, bijvoorbeeld .asp voor Active Server Pages en .php als het document is gegenereerd met PHP ( PHP Hypertext Preprocessor).

Browsers horen niet naar de extensie te kijken maar naar het content-type van het document om te bepalen wat ze er mee gaan doen. Het content-type wordt door de webserver meegestuurd. De webserver geeft bestanden met de genoemde extensies .asp en .php krijgen hetzelfde content-type als een 'gewoon' html-bestand, namelijk text/html.

(X)HTML kan ook worden gegenereerd door transformatie van XML met XSLT, waarbij de inhoudelijke gegevens in de XML staan en de structuur in de XSLT. De browsers van Mozilla en Microsoft zijn in staat deze transformatie uit te voeren. Andere browsers ondersteunen dit niet. De transformatie kan echter ook op de webserver worden uitgevoerd.

Opbouw van een HTML-document

Een DOCTYPE-declaratie aan het begin van het document geeft aan volgens welke specificatie de HTML moet worden geïnterpreteerd. Moderne browsers kennen twee manieren om een HTML-document weer te geven: de Standards compliance mode dat gebruikt wordt voor documenten die voldoen aan de strikte HTML-specificatie, en de Quirksmode die gebruikt wordt voor oudere specificaties. De keuze wordt gemaakt op basis van de DOCTYPE-declaratie.

Een correct HTML-document bestaat meestal naast deze declaratie uit één html-element, dat weer bestaat uit één header-element plus één body-element. In de header staat informatie over het document, zoals de titel en eventueel gebruikte stijlbladen, scripts, en metatags. De body bevat informatie die in het document zichtbaar is. In plaats van een body-element kan ook een frameset-element gebruik worden. Bij gebruik van een frameset worden andere (HTML-)documenten in de frames getoond.

HTML is uitgegroeid van opgemaakte tekst met plaatjes tot een object-georiënteerde benadering van een document. Ook daar heeft het W3C een standaard voor ontwikkeld: het Document Object Model (afgekort tot DOM). Het DOM maakt het mogelijk met behulp van scripts alle elementen van een document afzonderlijk te benaderen en aan te passen; ook kunnen nieuwe elementen worden toegevoegd of bestaande elementen verwijderd.

Zelf HTML schrijven

Steeds meer mensen publiceren een eigen website op internet in de vorm van HTML-documenten. Op internet zijn veel handleidingen te vinden over het maken van HTML-documenten. Omdat HTML-documenten gewoon tekstdocumenten zijn kan de code makkelijk zelf geschreven worden. Er zijn echter ook zogenaamde WYSIWYG HTML-editors beschikbaar die als een tekstverwerker werken en het resultaat als HTML kunnen opslaan.

Ook bieden sommige gratis hostingservices de mogelijkheid aan om online met een paar klikken je eigen site gemaakt uit HTML te maken en online te zetten. Een andere tegenwoordig erg populaire manier om snel HTML-pagina's aan te maken, is het gebruik van zogenaamde sjablonen. Dit zijn voorgemaakte paginaontwerpen die gratis - of tegen betaling - van bepaalde plekken gedownload kunnen worden en dan vrij gebruikt mogen worden. Nadeel van deze sjablonen is dat de originaliteit soms op een laag niveau ligt.

Zie ook

Externe links

Verwijzingen

rel=nofollow

Wikimedia Commons  Vrije mediabestanden over HTML op Wikimedia Commons

rel=nofollow