Skip to main content
DieperVeilig op het NetWat is...

Wat is HTTP

Door 24 mei 2021november 23rd, 2023Geen reacties

HTTP staat voor Hyper Text Transport Protocol. Maar daar weet je natuurlijk nog geen bal mee. HTTP zie je in elk adres van iedere website staan. Het is anno 2021 onmisbaar voor het internet en wordt gebruikt om gegevens over het internet te sturen.

HTTP is de manier om een website te openen op uw toestel. Elke website die je op uw computer of smartphone opent, zal HTTP achter de schermen gebruiken. Het is op Engels gebaseerde taal, die computers onderling “spreken” om gegevens vanaf een grote computer (de server) naar uw toestel te sturen.

HTTP spreek je uit als “haa-tee-tee-pee”.

Elke webbrowser gebruikt het. Het is tegenwoordig de belangrijkste manier om gegevens via het internet te versturen, typisch wanneer je een website opendoet

Hoe krijg je een website van jouw toestel (computer, laptop, smartphone…) ? Op te beginnen moet jouw toestel een internetconnectie hebben. Ook de webserver (een grote computer waarop de website staat) aan de andere kant, waar die ook mag staan, moet verbonden zijn aan het internet. Een webserver is eigenlijk niet meer dan grote, krachtige computer, waar er meestal meerdere (honderden…) websites op staan en ook aan met het internet verbonden is. Om nu die 2 met elkaar te laten praten, hebben we HTTP nodig.

Wat nu met HTTP? Zoals gezegd staat HTTP voor Hyper Text Transport Protocol. Vooral deze laatste 2 termen zijn belangrijk: Transport Protocol.

Een protocol is eigenlijk niet meer als een afspraak tussen 2 partijen, hoe die met elkaar communiceren. Jouw computer vraagt aan een andere, veel grotere computer, welke pagina op welke website die wil openen. Die vraag, en het antwoord, gebeurt over HTTP.

HTTP is dus een soort van taal, gebaseerd op een soort Engels, die onderling tussen computers (of smartphones, tablets…) gebruikt worden om websites op uw scherm te toveren.

nulletjes en ééntjes?

“Hoezo taal?i ik dacht dat computers alleen maar nulletjes en ééntjes (binair) begrepen?” hoor ik je denken… Op zich heb je natuurlijk gelijk. Op een bepaald moment zal die “taal” door de computer geanaliseerd worden en omgezet worden naar nullen en enen. Maar dat gebeurt pas diep in het computersysteem. Wanneer je op de lijn tussen jouw computer en de computer waar de website op staat (de webserver) zou luisteren, ga je effectief die taal herkennen en kunnen lezen.

Voorbeeldje

Jouw computer:  opent connectie naar website geekdonkey.com
geekdonkey.com:  hallo!
Jouw computer:  ik ben een Windows PC, geef mij de startpagina
geekdonkey.com:  OK!  "start website: ......"

Hierboven een voorbeeld hoe HTTP in essentie te werk gaat. Uiteraard is het in realiteit een stukje cryptischer, maar nog steeds herkenbaar!

Jouw computer:  OPEN Geekdonkey.com
Jouw computer:  GET /contact.html
Geekdonkey.com: 200 OK ...... (website data wordt doorgestuurd)

Transport

Het volgend woordje dat we gaan bekijken is “Transport”. HTTP is dus een protocol (of taal) die gebruikt wordt om gegevens te versturen op het internet. Welke gegevens? Alles wat met websites te maken heeft. Als je naar de website van jouw favoriete online/digitale krant gaat, dan vraag je via HTTP aan de server om de website naar uw computer te sturen.

Maar ook omgekeerd: als je jouw gebruikersnaam en paswoord naar een website stuurt om aan te loggen (zoals facebook of uw bank applicatie), gebeurt dit evengoed via HTTP.

Methodes

HTTP kent een aantal methodes. Dit zijn een soort commando’s dat jouw computer naar de webserver stuurt, om duidelijk te maken wat je wil bereiken. De belangrijkste zijn GET en POST:

GET: ophalen van een website. Elk pagina, stuk tekst of afbeelding die doorgestuurd wordt vanaf de server naar jouw computer, wordt aangeroepen met GET

POST: de omgekeerde richting. Als je gegevens wil sturen vanaf jouw PC naar een website (zoals bij aanloggen moet je jouw login en paswoord sturen naar de website) zal dit via POST gebeuren. Een formulier dat je invult en doorstuurt naar de website, gebeurt over POST.

Er zijn er nog een paar, maar die mag je gerust vergeten. Met GET en POST kom je al heel ver!

Wat met HTTPS ?

HTTPS werkt op dezelfde manier als HTTP, met het verschil dat het veel veiliger verloopt. De “S” achteraan betekent dat alle gegevens versleuteld zijn. HTTPS is dus een alternatief om gegevens te transporteren van een website naar jouw PC of smartphone en omgekeerd.

Wanneer gegevens versleuteld worden, betekent dit dat deze eerst door de molen gedraaid worden en dus onleesbaar verstuurd worden. Alleen de ontvanger kan met een bepaalde sleutel, die alleen hij in bezit heeft (en die uiteraard nooit mee over de lijn gestuurd wordt).

Naast het versleutelen van gegevens, zorgt HTTPS ervoor dat je 100% zeker weet dat je met de juiste partij aan het praten bent. Met andere woorden, je wil zeker dat je jouw kredietkaartgegevens naar de juiste webshop stuurt, in plaats van naar één of andere gangster die zich voor iemand anders uitgeeft.

Dit werkt op basis van een certificaat. Over certificaten kunnen we een heel artikel schrijven (en misschien doen we dat ook nog wel)… in het kort: een certificaat toont iedereen die erom vraagt met 100% zekerheid dat je zeker met de juiste partij aan het praten bent.

Als je bijvoorbeeld jouw aanlog-gegevens doorstuurt naar de website van jouw bank, om jouw rekening te beheren, is het nogal belangrijk dat je zeker bent dat je dit naar jouw bank stuurt en niet naar iemand die zich voordoet als jouw bank. Een certificaat zorgt ervoor dat je op beide oren kunt slapen. Jouw toestal zal je onmiddellijk vertellen als er ‘gefoefeld’ is en je dus mogelijks niet de gegevens naar jouw bank stuurt, maar naar schorrie-morrie, die erop uit is om jouw rekening te plunderen….

Een certificaat wordt meegestuurd met de website die je bezoekt, en zit verscholen in de adresbalk van de website. Als je op het slot klikt, krijg je de naam van de website te zien, die recht uit het certificaat komt. Dit is niet te vervalsen. Als hier de naam van jouw bank staat, ben je 100% zeker dat je ook met jouw bank aan het communiceren bent.

Uitleggen hoe dit concreet werkt, hoe HTTPS ervoor zorgt dat het zo goed als onkraakbaar is, en hoe een certificaat werkt, zou ons helaas te ver brengen. Het principe steunt op een aantal wiskundige principes waar priemgetallen een grote rol in spelen. Vergeet de details maar. Je kan ervan uit gaan dat HTTPS absoluut veilig is.

Hoe herken je of een website HTTPS gebruikt?

Je herkent HTTPS aan het slot dat voor de website-adres staat.

Kan ik kiezen wat ik gebruik?

Jijzelf, als gebruiker van een website, kan helaas niet kiezen of je HTTPS of HTTP gebruikt. Dit wordt gestuurd vanuit de website zelf. De beheerders van de website moeten dit opzetten zodat de website HTTPS aanbiedt. Als dit niet zo is, kan je als gebruiker van de website daar helaas niks aan doen, je zit dan opgescheept met het onveilige en verouderde HTTP. Doe dus nooit een betaling met jouw VISA kaart op een website die geen HTTPS aanbiedt!

Je kan ervan uit gaan dat elke moderne website HTTPS zal ondersteunen. Het is gigantisch veel veiliger en heeft eigenlijk geen nadelen, behalve het misschien een heel klein beetje trager gaat, maar da’s te verwaarlozen.

Enkel verouderde websites tref je HTTP nog aan. Google straft ook meer en meer websites af die geen HTTPS aanbieden, door die niet in de zoekresultaten meer te tonen.

Maar waarom HTTPS?

Terug naar het onderwerp waarom je absoluut HTTPS wil. Een website die bijvoorbeeld jouw medisch dossier op het scherm brengt, wil je graag dat niemand anders dit onderweg even meeleest. Maar is het dan echt zo eenvoudig? In principe wel…

Als je gegevens over het internet stuurt in een niet versleutelde vorm (dus niet over HTTPS maar over HTTP), kan iemand die tussen de afzender (de website) en jou (jouw computer) zit, zeer eenvoudig letterlijk alles zien wat jij te zien krijgt. Als voorbeeld nog eens de website die jouw medisch dossier beheert. Als je deze website zou openen, en de website gebruikt het (verouderde) en onveilige HTTP protocol, dan kan een spion die zich tussen jou en de website verscholen heeft, jouw medische geheimen meelezen.

Maar ook omgekeerd: als je aanlogt op de website van jouw bank, en die zou HTTP gebruiken (ipv HTTPS), dan zou een spion die op de lijn meeluistert, jouw paswoord letterlijk te zien krijgen. Daarna kan hij zelf in jouw naam en met jouw paswoord aanloggen en jouw bankrekening te plunderen.

Gelukkig gebruikt elke bank, en bij uitbreiding elke website die jouw gegevens serieus neemt, allemaal de veilige HTTPS. Voor de volledigheid willen we nog even meegeven dat alle banken naast uiteraard HTTPS, nog een hele hoop aan extra beveiligingstechnieken gebruiken. Twintig jaar geleden was het misschien nog anders, maar in deze tijdens zal niemand zal jouw bankrekening leegplunderen.